.BAT 스크립트를 어떻게 디버깅 할 수 있습니까?
.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 / 디버거가 포함되어 있습니다. 그들의 짧은 프리젠 테이션 비디오는 멋지게 보여줍니다.
몇 시간 동안 평가판을 사용하고 있습니다. 첫 번째 겸손한 의견입니다.
- 한쪽에서는 실제로 .bat 및 .cmd 스크립트를 디버깅 할 수 있으며 이제는 꽤 많은 경우에 도움이 될 수 있다고 확신합니다.
- 다른 한편으로, 그것은 때때로 차단되고 나는 그것을 죽여야했다. 특히 아래 첨자를 디버깅 할 때 (항상 체계적으로는 아님) .. 그것은 "콜 스택"이나 "탈출"버튼을 보여주지 않는다.
그것은 시도를 좋아합니다.
'실행 단계'(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
내가 생각할 수있는 유일한 방법은 echo
s와 pause
s로 코드를 돌리는 것입니다 .
결과를 파일로 다시 라우팅하려고 했습니까? whatever.bat> log.txt처럼
이 경우 다른 모든 스크립트가 >> log.txt와 같은 파일에 로깅되는지 확인해야합니다.
또한 배치 파일의 시작과 끝에 날짜 / T 및 시간 / T를 입력하면 해당 시점의 시간을 얻을 수 있으며 스크립트 실행 시간과 순서를 매핑 할 수 있습니다.
또는 .... 다른 .bat 파일에서 기본 .bat 파일을 호출하고 결과 파일에 결과를 출력합니다.
runner.bat> mainresults.txt
runner.bat가 기본 .bat 파일을 호출하는 위치
이제 기본 .bat 파일에서 수행 된 모든 작업을 볼 수 있습니다.
또는 cmd 창을 연 다음 거기에서 배치를 호출하면 출력이 화면에 표시됩니다.
참고 URL : https://stackoverflow.com/questions/165938/how-can-i-debug-a-bat-script
'IT story' 카테고리의 다른 글
% p로 널 포인터를 인쇄하는 것은 정의되지 않은 동작입니까? (0) | 2020.09.01 |
---|---|
Enrich-my-library 패턴을 Scala 컬렉션에 어떻게 적용합니까? (0) | 2020.09.01 |
주요 이메일 클라이언트 소프트웨어에서 데이터 URI 지원은 어떻습니까? (0) | 2020.09.01 |
"애플리케이션이 활성 컨트롤러를 모달로 제시하려고했습니다"? (0) | 2020.09.01 |
무료 NCrunch 대안 (0) | 2020.09.01 |