2015-05-18 59 views
0

我有一個腳本,我想爲目錄中的每個文件調用一個函數。使用forfiles,我已經能夠一一列舉,如:在forfiles中使用呼叫

forfiles /p "%myPath%" /c "cmd /c echo @path NAME @file" 

注:mypath中是有空格的路徑,所以我不得不把它裏面""

不過,我需要使用的功能LaunchRun我在批處理文件已經,所以我嘗試:

forfiles /p "%myPath%" /c "call:LaunchRun @path @file" 

凡我函數需要兩個參數。問題是,我得到:

ERROR: El sistema no puede encontrar el archivo especificado.

Translanted:

Error: System can't find the specified file

因爲我發現沒有使用/c選項啓動一個新的控制檯每個例子,我TRID太,因爲我與echo做之一:

forfiles /p "%myPath%" /c "cmd /c call:LaunchRun @path @file" 

但後來我得到:

Intento no válido de llamar una etiqueta por lotes fuera de un archivo de script por lotes.

翻譯:

Invalid attempt to call batch label outside of a file batch script.

這似乎因爲我在一個新的控制檯調用它。

我該怎麼做才能在循環上調用我的功能?

預先感謝您

回答

1

只需使用一個for循環:

for /r "%myPath%" %%a in (*) do call:LaunchRun "%%~a" "%%~nxa"