.bat 스크립트를 단계별로 진행하는 방법이 있습니까? 문제는 다른 많은 스크립트를 호출하는 빌드 스크립트가 있으며 호출 순서가 무엇인지 확인하여 정확히 어디로 가야하는지 알고 수정 사항을 추가해야합니다. .
답변:
.bat 파일의 실행을 단계별로 진행하는 방법을 모르겠지만 디버깅을 사용 echo
하고 pause
도움을 줄 수 있습니다 .
ECHO
배치 파일의 메시지를 에코합니다. ECHO Hello World와 같은 실행시 화면에 Hello World가 인쇄됩니다. 그러나 배치 파일의 시작 부분에 @ECHO OFF가 없으면 "ECHO Hello World"및 "Hello World"도 표시됩니다. 마지막으로 빈 줄을 만들려면 ECHO를 입력하십시오. 끝에 마침표를 추가하면 빈 줄이 생성됩니다.PAUSE
계속하려면 아무 키나 누르라는 메시지를 사용자에게 표시합니다.
출처 : 배치 파일 도움말
@ workmad3 : answer에는 echo
명령 작업에 대한 더 많은 좋은 팁이 있습니다.
또 다른 유용한 리소스 ... DDB : DOS 배치 파일 팁
스크립트에 'echo off'문이 없는지 확인하고 각 스크립트를 호출 한 후 'echo on'을 호출하여 놓친 항목을 재설정하십시오.
그 이유는 에코가 켜져 있으면 명령 인터프리터가 각 명령을 실행하기 전에 (파라미터 처리 후) 출력하기 때문입니다. 프로덕션에서 사용하기에는 정말 좋지 않지만 출력이 잘못되었는지 확인할 수 있으므로 디버깅 목적으로 매우 유용합니다.
또한 호출 된 배치 스크립트 및 프로그램에 의해 설정된 ErrorLevels를 확인하고 있는지 확인하십시오. 이를 위해 .bat 파일에 사용되는 두 가지 방법이 있습니다. 프로그램을 호출 한 경우 오류 수준은 % ERRORLEVEL %에있는 반면 배치 파일에서 오류 수준은 ErrorLevel 변수에 반환되며 주변에 %가 필요하지 않습니다.
비슷한 우려에 직면하여 사소한 Google 검색으로 다음 도구를 발견했습니다.
JPSoft의 " Take Command "에는 배치 파일 IDE / 디버거가 포함되어 있습니다. 그들의 짧은 프리젠 테이션 비디오는 멋지게 보여줍니다.
몇 시간 동안 평가판을 사용하고 있습니다. 첫 번째 겸손한 의견은 다음과 같습니다.
그것은 시도를 좋아합니다.
Always quote the most relevant part of an important link
. 링크가 없으면이 답변은 해체됩니다. 다시 말하지만 일반적으로 테스트되지 않은 독점 소프트웨어에 대한 이러한 유형의 임시 제안은 일반적으로 의견에 가장 적합합니다. 그것도 남겨주세요.
'실행 단계'(win32) 소프트웨어가 내가 찾던 작업을 정확히 수행하는 것을 발견했습니다. http://www.steppingsoftware.com/
bat 파일을로드하고 중단 점을 배치하거나 출력 및 환경 변수를 확인하면서 단계별로 시작할 수 있습니다.
평가판은 50 줄만 통과 할 수 있습니다. 비슷한 기능을 가진 무료 대안이 있습니까?
@ECHO OFF를 제거하고 모든 출력을 로그 파일로 리디렉션하는 배치 파일을 호출합니다.
c :> yourbatch.bat (선택적 매개 변수)> yourlogfile.txt 2> & 1
http://www.robvanderwoude.com/battech_debugging.php 에서 찾을 수 있습니다 .
효과가있다!! 2> & 1을 잊지 마세요 ...
WIZ
결과를 파일로 다시 라우팅하려고 했습니까? whatever.bat> log.txt처럼
이 경우 다른 모든 스크립트가 >> log.txt와 같은 파일에 로깅되는지 확인해야합니다.
또한 배치 파일의 시작과 끝에 날짜 / T 및 시간 / T를 입력하면 해당 시점의 시간을 얻을 수 있으며 스크립트 실행 시간과 순서를 매핑 할 수 있습니다.
또는 .... 다른 .bat 파일에서 기본 .bat 파일을 호출하고 결과 파일에 결과를 출력합니다.
runner.bat> mainresults.txt
runner.bat가 기본 .bat 파일을 호출하는 위치
이제 기본 .bat 파일에서 수행 된 모든 작업을 볼 수 있습니다.