0

我正在尝试运行一个简单的批处理文件。

for /f %%a IN ('dir /b /s "%~dp0\EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)

这仅在批处理文件的路径中没有空间时才有效。

该批次在:

C:\Users\Rafael\Documents\Visual Studio 2012\Projects\vorace\Release\vorace.exe

我要循环的文件在:

C:\Users\Rafael\Documents\Visual Studio 2012\Projects\vorace\Release\EnsembleIndependant

谁能帮我。

谢谢。

谢谢你们的建议。for /f "delims=" 解决了我的问题。

4

3 回答 3

3
for /f "delims=" %%a IN ('dir /b /s "%~dp0EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)

%~dp0最后已经有退格了。

于 2013-10-27T11:43:10.773 回答
3
for /f "delims=" %%a IN ('dir /b /s "%~dp0\EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)

空格是批量循环的标准分隔符,<tab>并且"delims="您可以停用它。

于 2013-10-27T07:59:51.727 回答
2

FOR /F 用作标准分隔符spacetab为避免这种情况,您需要添加选项。

for /f "delims=" %%a IN ('dir /b /s "%~dp0\EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)
于 2013-10-27T08:01:02.340 回答