如何将两个等长文本文件内容转为对应属性的PowerShell对象
解决两个文件内容配对生成自定义对象的问题
因为Users.txt和Languages.txt的内容数量相等,只需通过索引遍历配对的方式,就能让每个用户名对应到其专属语言,生成符合要求的单行对象结果。
方法一:for循环实现
$Users = Get-Content C:\temp\Users.txt $Languages = Get-Content C:\temp\Languages.txt $myObject = @() for ($i = 0; $i -lt $Users.Count; $i++) { [PSCustomObject]@{ Name = $Users[$i] Language = $Languages[$i] } | ForEach-Object { $myObject += $_ } } $myObject
方法二:管道式简洁写法
$Users = Get-Content C:\temp\Users.txt $Languages = Get-Content C:\temp\Languages.txt $myObject = 0..($Users.Count - 1) | ForEach-Object { [PSCustomObject]@{ Name = $Users[$_] Language = $Languages[$_] } } $myObject
效果说明
执行上述任意一段代码后,$myObject会自动以表格形式输出,完全匹配你需要的格式:
Name Language ---- -------- Todd English Sara Spanish Mike French
内容的提问来源于stack exchange,提问作者Cody Hernandez
相关产品推荐
相关产品推荐

