programing

첫 번째 명령 후 배치 파일 실행이 중지됨

nasanasas 2020. 11. 10. 08:16
반응형

첫 번째 명령 후 배치 파일 실행이 중지됨


두 개의 HTML 파일을 비교하기 위해 'HTML Match'도구를 사용하고 있습니다. 여러 파일을 비교해야하므로 다음과 같은 배치 파일을 생성합니다. 예를 들어, 5 세트의 파일 만 제공합니다.

cd "C:\Program Files\HTML Match"
HTMLMATCH.EXE "D:\Raj\compare1\a1.html" "D:\Raj\compare2\a1.html" "D:\Raj\compare_res\a1.html"
HTMLMATCH.EXE "D:\Raj\compare1\a2.html" "D:\Raj\compare2\a2.html" "D:\Raj\compare_res\a2.html"
HTMLMATCH.EXE "D:\Raj\compare1\a3.html" "D:\Raj\compare2\a3.html" "D:\Raj\compare_res\a3.html"
HTMLMATCH.EXE "D:\Raj\compare1\a4.html" "D:\Raj\compare2\a4.html" "D:\Raj\compare_res\a4.html"
HTMLMATCH.EXE "D:\Raj\compare1\a5.html" "D:\Raj\compare2\a5.html" "D:\Raj\compare_res\a5.html"

cmd 프롬프트에서이 배치 파일을 실행하면 첫 번째 줄, 즉 'a1.html'만 비교되고 결과가 생성됩니다. 그런 다음 실행이 중지됩니다.


call실행중인 명령 앞에 추가하십시오 .

이것을 for 루프로 변경할 수도 있습니다.

FOR /L %i in (1,1,5) DO CALL HTMLMATCH.EXE D:\Raj\compare%i%\a%i%.html D:\Raj\compare%i%\a%i%.html D:\Raj\compare_res\a%i%.html

문제에 대한 답은 작성 CALL HTMLMATCH.EXE(및 나머지 매개 변수)입니다. CALL배치 파일의 모든 실행 가능한 명령 앞에 사용 하십시오.


나는 정말로 비슷한 것을 찾고 있었고 모든 대답이 여기에 남아 있다고 생각했지만 마침내 내 문제에 대한 해결책을 찾았습니다!

내 스크립트에서 하나의 프로세스가 실행 중인지 확인하고, 그렇지 않은 경우 시작 (.exe) 한 다음 다른 프로세스가 실행 중인지 확인하고, 실행 중이 아니면 시작 (모든 프로그램은 열어 둡니다) 문제는 다음과 같습니다. 첫 번째 .exe가 시작되었지만 프로세스가 끝날 때까지 기다리고 있었기 때문에 두 번째 .exe로 이동하지 않았습니다. 마침내 시작함께 저를 위해 일하고 있으며 마법은 ...

/갈라진

그것은 나를 위해 다음과 같이 작동합니다.

start "program1" /separate program1.exe
other commands

프로그램 1을 시작한 후 종료되기 전까지는 종료 될 때까지 기다리고 있었기 때문에 멈췄다 고 생각하는데, 열어두고 싶었 기 때문에 이런 일이 일어나지 않을 것입니다. 이제 start / separate로 다른 명령을 계속합니다.

나는 다른 포럼 에서 그것을 찾았 지만 그것이 매뉴얼이라는 것입니다. / separate는 다른 메모리 공간에서 시작하는 데 사용됩니다.


사이에 공백이없는 곳에 따옴표를 삽입 할 필요가 없습니다.

시도해보십시오.

HTMLMATCH.EXE D:\Raj\compare1\a1.html D:\Raj\compare2\a1.html D:\Raj\compare_res\a1.html

아마도 그것은 당신의 문제를 해결할 것입니다.

참고 URL : https://stackoverflow.com/questions/7320074/batch-file-stops-running-after-the-first-command

반응형