2012-02-20 6 views
1

다른 배치 파일을 시작하고 완료 될 때까지 기다리는 배치 스크립트가 있습니다. 무슨 일이 있었는지시작 명령에서 프로그램 이름에 변수를 사용할 수없는 이유는 무엇입니까?

for %%i in ("*.xml") do start /separate /wait "%PROGRAM_PATH%" "%LOCAL_OUTGOING_PATH%\%%i" 

그 대신 % PROGRAM_PATH % 포인트가, 그것은 Internet Explorer를 실행 결국 프로그램을 열고 난 %%로 지정된 XML 파일을 보여주는입니다 : 여기가 원래 있던 구문입니다. 마치 시작 명령의 % PROGRAM_PATH % 부분을 무시한 것과 같습니다. 나도 % PROGRAM_NAME % 따옴표 없이도 작동하지 않았다. %가 PROGRAM_PATH %, 그런데,이 " "C 점 :.이 마침내 일을했다

for %%i in ("*.xml") do start /separate /wait C:\DOS\copy.bat "%LOCAL_OUTGOING_PATH%\%%i" 

: \ DOS \의 copy.bat를 "그래서 나는 하드 코딩과 같은 존재의 경로를 가지고 결국 내가 원했던 방식이지만 변수를 사용할 수 있기를 원하는 이유는 무엇입니까?

+0

당신은 따옴표없이'% PROGRAM_NAME %'을 사용했다고합니다. '% PROGRAM_PATH %'을 (를) 사용하셨습니까? 그렇지 않다면 PROGRAM_NAME의 가치는 무엇입니까? – jdigital

+0

죄송합니다. 오타였습니다. 변수 이름도 일치하는지 확인했습니다. – Andrew

+0

나는 이것을 (Win XP에서) 시도했고 따옴표없이 나를 위해 일한다. – jdigital

답변

1

따옴표로 묶인 첫 번째 START 매개 변수는 창 제목으로 사용됩니다. 매개 변수를 지정하려면 따옴표로 묶여 있어야하며, 빈 칸이라도 처음에는 제목을 입력해야합니다.

또는

for %%i in ("*.xml") do start "Win Title" /separate /wait "%PROGRAM_PATH%" "%LOCAL_OUTGOING_PATH%\%%i" 

유형 START /? 자세한 내용은

관련 문제