【发布时间】:2016-11-23 05:11:26
【问题描述】:
我正在尝试编写简单的 PowerShell 代码以从 CSV 读取两列值并以类似
的方式打印1
201
2
202
.
.
CSV 文件:
PRODID DEVID Name
1 201 Application
2 202 Product
3 203 Component
4 204 Author
5 205 Version
Powershell 代码:
$DEVID = Import-Csv C:\test\install.csv | % {$_.DEVID}
$PRODID = Import-Csv C:\test\install.csv | % {$_.PRODID}
ForEach ($DEVI in $DEVID)
{
Write-Host $DEVI
ForEach ($PRODI in $PRODID)
{[enter image description here][1]
Write-Host $PRODI
}
}
但我没有得到预期的输出,尽管我尝试了 break, continue 语法。 在这种情况下谁能帮助我?
【问题讨论】:
-
{$_.PRODID}而不是{$.PRODID} -
感谢 Micky 的回复,但我可以从 CSV 读取值,但不是我期望的格式。第二个 foreach 循环将继续,除非它完成了从第二列中读取值。
-
每个 ProdID 都有一个唯一的 DevID?
-
是的,每个 ProdID 都有唯一的 DevID。当前代码给我的输出像 201->1->2->3->4->5; 202->1->2->3->4->5.......(->下一行)。所以它不会回到第一个 foreach 循环,直到第二个 foreach 完成从第二列读取所有值)
-
试试
Import-Csv C:\test\install.csv | % { write-host $_.PRODID;write-host $_.DEVID}
标签: csv powershell foreach powershell-3.0 export-to-csv