2013-05-28 70 views

回答

5
#If no rar files found... 
if (!(gci c:\ *.rar)){ 
    "No rar files!" 
} 
#If rar files found... 
if (gci c:\ *.rar){ 
    "Found rar file(s)!" 
} 

'如果' 評估括號內指定的條件,這將返回一個布爾值(TRUE或FALSE)之間的代碼如果條件返回true,則執行大括號。在這種情況下,如果gci返回0將返回False的文件(可能相當於'if exists'),所以在第一個示例中,我們使用而不是運算符(!)基本上反轉邏輯以返回True並執行代碼塊。在第二個例子中,我們正在尋找rar文件的存在,並希望代碼塊在發現任何時候執行。

+0

+1更好,那麼我的答案 –

+0

+1 This works。你能解釋一下if語句如何從gci cmdlet中得到結果嗎?謝謝。 – Sabuncu

+0

@Sabuncu我已經更新了我的答案,希望有所幫助。 – nimizen

3

gci返回一個數組。您可以檢查數組中有多少個結果。

if ((gci *.rar | measure-object).count -eq 0) 
{ 
    "No rars" 
} 

使用PowerShell v3的這是一個容易一點:

if ((gci *.rar).Count -eq 0) 
{ 
    "No rars" 
} 
+0

+1是的,這有效。不知道度量對象,謝謝。 – Sabuncu

相關問題