批处理文件路径中的空格

时间:2013-10-27 07:45:34

标签: windows batch-file

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

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 =”解决了我的问题。

3 个答案:

答案 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用作标准分隔符spacetab,为避免这种情况,您需要添加选项。

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