带有if / else的Foreach检查文件内容

时间:2019-02-22 14:57:53

标签: powershell

我正在尝试创建一个脚本,该脚本使用带有计算机名称的文件,并检查是否在共享上为它们创建了文件夹。我在下面创建的脚本已损坏,并且文件中的每一行都返回true。 foreach的原因是要在输出中列出文件夹名称。有什么建议吗?

$computer=Get-Content -path 'C:\comp.csv'

foreach ($comp in $computer) {
$path= Test-path '\\UNC_folder_path\'
if ($path -eq $True) {Write-host "$comp = Success"}
Else {Write-host "$comp = Failure"}
}

2 个答案:

答案 0 :(得分:0)

在循环中,您始终在测试相同的'\ UNC_folder_path \'路径。

如果要查看是否在该路径中创建了文件夹,则Clev提议似乎不错。 假设您的csv文件仅包含计算机名称

CSV文件:

cpu1
cpu2

您的脚本:

$computer=Get-Content -path 'C:\comp.csv'

foreach ($comp in $computer) {
$path= Test-path '\\UNC_folder_path\$comp' #or $path= Test-path '\\UNC_folder_path\$_'
if ($path -eq $True) {Write-host "$comp = Success"}
Else {Write-host "$comp = Failure"}
}

答案 1 :(得分:-1)

只是一个猜测,但是您忘了检查UNC路径上特定计算机的文件夹吗?

$path= Test-path '\\UNC_folder_path\' 

更改为

$path= Test-path '\\UNC_folder_path\$comp'
相关问题