2010-08-11 114 views
0

我試圖逐個地傳遞文件(我必須點,因爲可執行文件一次只接受一個文件)。所以,在我批我已經follwoing:嘗試使用批處理文件。沒有輸出,什麼都沒有發生

FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 

我看到了在同一個目錄下的文件,但沒有任何反應,要麼顯示沒有錯誤。 我在這裏錯過了什麼嗎?

回答

1

您的例子幾個錯誤:

  • FOR參數名稱是一個字母只
  • CALL用於調用在現有的批處理文件的另一個批處理文件或子程序,而非可執行文件
  • FOR參數應該用2%來引用,當在批處理文件中時
  • 你需要使用非空格分隔符,如果你在其中運行這個命令的目錄或者任何子目錄,或者是否有任何文件的名稱中

有了這些考慮的空間,這裏是你應該使用正確的命令:

for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f" 

這裏的my answer到類似的SO問題,在這裏我給使用FOR更多細節處理目錄中的所有文件。

+0

從技術上講,你不需要'usebackq'在你的特定場景中,但這是一個好習慣。 – 2010-08-11 20:37:37

+0

謝謝你,這使它的工作。除了我不得不排除「usebackq delims = |」。它沒有工作,它開始處理'dir''b'作爲實際的文件名。一旦它被刪除,一切正常。 – 2010-08-11 20:47:19

相關問題