MrGRafael
MrGRafael

Reputation: 55

Space in batch file path

I'm trying to run a simple batch file.

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

this only works if there is no space in the path of the batch file.

the batch is in:

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

the files I want to loop through are in:

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

can anyone help me.

thanks.

thank you guys for the suggestions. for /f "delims=" solved my problem.

Upvotes: 0

Views: 362

Answers (3)

Endoro
Endoro

Reputation: 37589

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

%~dp0 has already a backspace at the end.

Upvotes: 3

jeb
jeb

Reputation: 82400

FOR /F uses as standard delimiters space and tab, to avoid this you need to add the options.

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

Upvotes: 2

npocmaka
npocmaka

Reputation: 57302

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

space is a standard delimiter in batch for loops as well as <tab> and with "delims=" you deactivate it.

Upvotes: 3

Related Questions