在PowerShell中,語法if
是這樣:`if(Test-Path ...)`實際上是如何工作的?
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的一些魔力還是我誤解了基本的語法規則?
試試這個:'if true'。它會給你一個*解析器*錯誤。我不是專家,但在我看來,括號確實是一種語言結構,而不是一個子表達式運算符。 – Borek 2012-04-16 13:58:01
@Borek:在PowerShell中,我認爲你必須寫的是 if $ True – wunth 2015-04-13 22:17:50