2013-04-17 16 views
0

有沒有辦法在bat文件中測試這個表達式中的空值?有沒有辦法在bat文件中測試這個表達式中的空值?

FOR /F %%f IN ('C:\Windows\System32\inetsrv\appcmd list site /text:name /bindings:') DO rmdir /s/q "D:\Websites\%%f" 

這樣,如果%% f爲空,它將不執行Do rmdir語句?

感謝您的協助。

+0

'FOR/F'執行'DO' _with每VALUE_由括號中的命令生成之後的行。如果沒有值,則不執行任何命令 – Aacini

回答

1

應該沒有必要。如果APPCMD的輸出是空字符串,則FOR /F將忽略它(如果行開始;

現在,如果任何行只包含空格,那是另一個問題。

檢查通過運行這個批處理:

@echo off 
setlocal 
FOR /F %%f IN ('C:\Windows\System32\inetsrv\appcmd list site /text:name /bindings:') DO ECHO ++%%f$$ 
pause 

這將顯示每個項目回來,有++開始和$$在每一行的末尾。

如果不需要的名稱被報告,那麼我們需要處理它。

事情來尋找:

  • ++開始和$$在每行的末尾
  • 沒有線出現啓動$$
  • 有可能是一條線「++ [空間] $$」
  • 應該沒有線 「++ $$」
相關問題