我正在尝试运行一个简单的批处理文件。
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 =”解决了我的问题。答案 0 :(得分:3)
for /f "delims=" %%a IN ('dir /b /s "%~dp0\EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)
space是批处理循环中的标准分隔符,<tab>
和"delims="
将其停用。
答案 1 :(得分:3)
for /f "delims=" %%a IN ('dir /b /s "%~dp0EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)
%~dp0
最后已有退格。
答案 2 :(得分:2)
FOR / F用作标准分隔符space
和tab
,为避免这种情况,您需要添加选项。
for /f "delims=" %%a IN ('dir /b /s "%~dp0\EnsembleIndependant\*.mis"') DO (ECHO %%a >> ResultatVorace.txt & CALL vorace.exe -f %%a >> ResultatVorace.txt)