Import-CSV和Foreach

Scr*_*rry 11 csv powershell foreach

我有一个巨大的逗号分隔的CSV列表,其中包含我想要运行查询的网络的IP地址.我的CSV输入示例:

172.168.0.1,172.168.0.2,172.168.0.3,172.168.0.4
Run Code Online (Sandbox Code Playgroud)

等等....

当我运行以下代码来测试输出时:

$filepath = "c:\scripts\servers.csv" 
$servers = Import-CSV $filepath -delimiter "," 

Foreach ($server in $servers) {
     write-host $server

}
Run Code Online (Sandbox Code Playgroud)

我没有输出,我认为这是因为没有指定标题.我显然可以解决方法并打开CSV文件并输入所有标题.有没有其他方法可以解决这个问题?

Sha*_*evy 23

您可以动态创建标题(当分隔符是逗号时无需指定分隔符):

Import-CSV $filepath -Header IP1,IP2,IP3,IP4 | Foreach-Object{
   Write-Host $_.IP1
   Write-Host $_.IP2
   ...
}
Run Code Online (Sandbox Code Playgroud)