我在这里做什么错了?
我想查找一组PC(包括我自己的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'
}
}
上面的内容告诉我该文件夹不存在(我知道它用于列表中的至少一台计算机)。
答案 0 :(得分:6)
您的问题是在测试路径周围使用的引号。
单引号不允许变量扩展,因此它实际上是在寻找路径server = grpc.server(futures.ThreadPoolExecutor(max_workers=1), maximum_concurrent_rpcs=2)
,而不是使用变量作为计算机名。
关于此文档:about_quoting_rules
如果您将代码更新为使用双引号,则将根据需要使用变量值:
'\\$Computer\C$\Temp2'
答案 1 :(得分:0)
尝试将Test-Path -Path的单引号(')更改为双引号(“),否则变量将无法识别