如果存在文件夹,请执行此操作,否则,请执行此操作

时间:2018-07-31 08:47:08

标签: powershell

我在这里做什么错了?

我想查找一组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'
    }
}

上面的内容告诉我该文件夹不存在(我知道它用于列表中的至少一台计算机)。

2 个答案:

答案 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的单引号(')更改为双引号(“),否则变量将无法识别