Powershell 将数组输出到文件

Powershell 将数组输出到文件,powershell,Powershell,我有一些代码可以导入一个文件,按jobtitle对数据进行分组,然后为每个job title创建一个名为的数组。每个数组包含与该职务相关联的所有员工ID。我需要将每个职务的员工ID输出到一个以该职务命名的单独文件中。因此,我需要将名为Customer Service的数组导出到名为Customer Service的文件中。文件需要包含每个员工ID(数组中的元素) 我可以使用以下方法将所有员工ID导出到单个文件: Import-Csv $Results | Group-Object "jobtit

我有一些代码可以导入一个文件,按jobtitle对数据进行分组,然后为每个job title创建一个名为的数组。每个数组包含与该职务相关联的所有员工ID。我需要将每个职务的员工ID输出到一个以该职务命名的单独文件中。因此,我需要将名为Customer Service的数组导出到名为Customer Service的文件中。文件需要包含每个员工ID(数组中的元素)

我可以使用以下方法将所有员工ID导出到单个文件:

Import-Csv $Results | Group-Object "jobtitle" | %{
    Set-Variable ($_.Name) ($_.Group | Select-Object -ExpandProperty ID | Add-Content $outfile)
}
但是,我需要每个职务的员工ID位于以职务命名的不同文件中。因此,我尝试了
ForEach对象
ForEach
和以下内容,但没有做到这一点

Import-Csv $Results | Group-Object "jobtitle" | %{
    Set-Variable ($_.Name) ($_.Group | Select-Object -ExpandProperty ID |  Set-Content {"C:\Users\$env:username\Documents\Results\$_.Name $_.Group"})
}

只需在循环中定义输出文件名并将ID写入文件:

Import-Csv $Results | Group-Object "jobtitle" | ForEach-Object {
    $file = 'C:\some\folder\{0}.txt' -f $_.Name
    $_.Group | Select-Object -Expand ID | Set-Content $file
}

这个奇怪的
集合变量
构造的目的是什么?Ansgar,非常感谢你的帮助。当我使用C:\users\admin\documents作为路径运行代码时,出现了一个错误:导入Csv$Results |组对象“jobtitle”| ForEach对象{$file='C:\users\admin\documents\{0}.txt'-f$\组$\组|选择对象-展开ID |设置内容$file}错误是:设置内容:指定路径C:\Users\admin\documents\System.Collections.ObjectModel.Collection`1[System.Management.Automation.PSObject].txt不存在,或者已被-Include或-Exclude参数筛选。有什么想法吗?@Durr对不起,我弄错了。当然,构建输出文件名需要
$\uu.Name
。修好了,非常感谢。一切都很好,我可以完成我一直在写的剧本。不能告诉你我有多感激你的时间是的,先生。完成。