在 PowerShell 中,for 的语法if
如下:
if (<test1>)
{<statement list 1>}
[elseif (<test2>)
{<statement list 2>}]
[else
{<statement list 3>}]
另一个语法规则是,对于子表达式,您需要像这样使用括号:
write-output (get-date)
因此,结合这两个规则,我希望某些路径的测试需要用两组括号编写,如下所示:
if ((Test-Path ...)) {
# do something
}
但是,这也有效:
if (Test-Path ...) {
# do something
}
并且只是为了完整起见,这是行不通的:
if (!Test-Path ...) {
# do something
}
(在这里,您需要像往常一样将子表达式括在括号中)。
谁能解释这里适用的语法规则,以及我为什么只能使用一个括号来使用 IF 测试?是某种 PowerShell 魔法还是我误解了基本语法规则?