作者:手机用户2502857067 | 来源:互联网 | 2022-12-09 10:20
我在这做错了什么?
我想找到一组PC(包括我自己)上是否存在文件夹,如果有,我希望它告诉我计算机的名称.如果不存在,我希望它告诉我计算机的名称和"路径不在那里"
$Computers = gc 'C:\Temp\Computers.txt'
foreach ($Computer in $Computers) {
if (Test-Path -Path '\\$Computer\C$\Temp2') {
Write-Host $Computer
} else {
Write-Host $Computer + 'Path Is Not There'
}
}
上面告诉我文件夹不存在(我知道它至少是列表中的一台计算机).
1> James C...:
您的问题是您正在测试的路径周围使用的引号.
单引号不允许变量扩展,因此它实际上是在查找路径'\\$Computer\C$\Temp2'
而不是将变量用于计算机名称.
关于此的文档:about_quoting_rules
如果更新代码以使用双引号,则可以根据需要使用变量值:
Test-Path -Path "\\$Computer\C$\Temp2"