0

我是 .Net 世界的 PowerShell 新手。我正在尝试写一些 if 语句,例如打击

#1

if (((Get-Item $pf).Exist))
{
     $password = [xml]( Get-Content $pf)
}

#2

if (((Get-Item $pf) | Select-Object Exist))
{
     $password = [xml]( Get-Content $pf)
}

#3

$result=(Get-Item $pf).Exist
if($result)
{
     $password = [xml]( Get-Content $pf)
}

问题:#2#3 都将按预期工作,但是,我也希望#1像在 .Net 中一样工作,但它似乎总是评估为假,因此该语句永远不会被执行。我在这里有点困惑,有人能解释一下为什么#1没有按我的预期工作吗?

4

1 回答 1

4

他们都错了。它存在,而不是存在。

另外,当您在文件不存在时测试代码时,我认为您会感到失望。

我想你正在寻找的是

Test-Path $pf
于 2013-02-15T01:24:45.993 回答