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

Powershell 如果存在文件夹,请执行此操作,否则,请执行此操作,powershell,Powershell,我做错了什么 我想知道一组电脑(包括我自己的电脑)上是否存在文件夹,如果存在,我想让它告诉我电脑的名称。如果不存在,我希望它告诉我计算机的名称和“路径不存在” $Computers = gc 'C:\Temp\Computers.txt' foreach ($Computer in $Computers) { if (Test-Path -Path '\\$Computer\C$\Temp2') { Write-Host $Computer } else {

我做错了什么

我想知道一组电脑(包括我自己的电脑)上是否存在文件夹,如果存在,我想让它告诉我电脑的名称。如果不存在,我希望它告诉我计算机的名称和“路径不存在”

$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'
    }
}

上面的信息告诉我文件夹不在那里(我知道它至少用于列表中的一台计算机)。

您的问题是您在测试路径周围使用的引号

单引号不允许变量扩展,因此它实际上是在查找路径
“\\$Computer\C$\Temp2”
,而不是将变量用作计算机名

关于这方面的文件:

如果将代码更新为使用双引号,则变量值将根据需要使用:

Test-Path -Path "\\$Computer\C$\Temp2"

您的问题是您正在测试的路径周围使用的引号

单引号不允许变量扩展,因此它实际上是在查找路径
“\\$Computer\C$\Temp2”
,而不是将变量用作计算机名

关于这方面的文件:

如果将代码更新为使用双引号,则变量值将根据需要使用:

Test-Path -Path "\\$Computer\C$\Temp2"

尝试将测试路径-Path的单引号(')更改为双引号(“),否则无法识别变量

尝试将测试路径-Path的单引号(')更改为双引号(”),否则无法识别变量

您的“Computers.txt”如何文件看起来像?目前只有两台电脑在两条不同的线上。TestPC1 TestPC2你的“Computers.txt”文件是什么样子的?目前只有两台电脑在两条不同的线上。TestPC1 TestPC2