Powershell,多行txt文件变量

时间:2016-02-10 12:16:22

标签: powershell windows-server-2012

我有一个文本文件,其中包含各个行的主机名:

IT4524
IT5135
IT5688
... etc

我可以导入这些并列出每一行:

$hostname[1]
IT4524

我需要通过命令管道每个(和所有)单独的行。我怎么能这样做而不必写:

  If "\\$hostname[1]\c$\test.txt{
      # // File exists
    }Else{
      # // File does not exist
    }

  If "\\$hostname[2]\c$\test.txt{
      # // File exists
    }Else{
      # // File does not exist
    }

...... ETC

最终结果是检查每个主机名C:对于另一个PS输出的txt文件

希望我已经解释得这么好了

1 个答案:

答案 0 :(得分:0)

您可以使用Get-Content cmdlet读取主机文件,使用foreach-object对其进行迭代,然后使用Test-Path检查文件是否存在:

$hostFile = 'c:\hostfile.txt'
get-content $hostFile | foreach {
  if (Test-Path "\\$_\c$\test.txt")
  {
    Write-Host "exists"
  }
  else
  {
    Write-Host "doesnt exist"
  }
}