我有一个文本文件,其中包含各个行的主机名:
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文件
希望我已经解释得这么好了
答案 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"
}
}