2013-10-27 4 views
0

간단한 배치 파일을 실행하려고합니다.배치 파일 경로의 공간

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

배치 파일의 경로에 공백이없는 경우에만 작동합니다.

C : 프로젝트 \ 비주얼 스튜디오 2012 \ \ vorace의 \ 릴리스 \ vorace.exe

내가 루프에 원하는 파일을 통해에 \ 사용자 라파엘 \ 문서 : \에

배치는

C : \ 사용자가 프로젝트 \ 비주얼 스튜디오 2012 \ 라파엘 \ 문서 \ \ vorace \ 릴리스 \ EnsembleIndependant

사람이 나에게 도움이 될 수 있습니다.

감사합니다.

의견을 보내 주셔서 감사합니다./f "delims ="에 대한 은 내 문제를 해결했습니다.

+0

정확히 어디에서 실패 했습니까? 변수를 인용하십시오. – Henry

답변

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

%~dp0은 이미 끝에 백 스페이스가 있습니다.

+0

문자를 백 슬래시라고합니다. 여기서는 Windows가 두 개의 백 슬래시가 순차적인지 아닌지 상관하지 않는다고 말했습니다. 백 슬래시는 하나의 백 슬래시로 처리됩니다. – foxidrive

+0

@foxidrive 예,'dir'은 할 수 있지만 일부 명령은 할 수 없습니다. – Endoro

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=" 당신은 그것을 비활성화합니다.

+1

+1 나를 조금 더 빠르게 – jeb

2

표준 구분 기호 spacetab으로 FOR/F를 사용하면이 옵션을 추가해야합니다.

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