eventcreate 명령으로 이벤트 로그 개행

배치 파일로 이벤트 로그를 출력할 때 사용하는 eventcreate 명령입니다만, /d 옵션으로 메세지 부여할 수가 있습니다.

이것을 개행입으로 출력해 보겠습니다.

배치 파일



eventcreate.bat
setlocal enabledelayedexpansion
set CRLF=^


eventcreate /id 100 /l application /t information /d "テスト!CRLF!改行"

실행 결과



관리자로 실행합니다.



메시지가 개행되었습니다.

해설



setlocal enabledelayedexpansion


setlocal enabledelayedexpansion 를 실행하여 지연된 환경 변수 배포를 활성화합니다.

지연 환경 변수는 배치 파일의 독특한 생각으로 변수를 읽는 타이밍을 지연시키는 것입니다.
통상은 행에 들어갔을 때에 변수가 전개됩니다만, 지연 환경 변수를 사용하면(자) 커멘드를 읽은 타이밍에 변수를 전개합니다.

여기에서는 개행 문자를 지연 환경 변수로서 전개하기 위해서 유효하게 하고 있습니다.
eventcreate /d 옵션으로 개행 문자의 변수를 전개할 때는 !変数名! 와 같이 % 는 아니고 ! 로 묶습니다.

set CRLF=^



CRLF라는 환경 변수를 선언하고 개행 문자를 변수에 넣습니다.
^ 는 배치 파일의 이스케이프 시퀀스 역할을 하는 기호입니다.
해트 뒤의 개행 문자를 변수에 넣어 한층 더 개행으로 커멘드를 실행하고 있는 이미지가 됩니다.

이 때문에, set CRLF=^ 의 뒤에는 개행을 2행 계속하지 않으면 변수에 개행 문자가 들어가지 않기 때문에 주의해 주세요.

좋은 웹페이지 즐겨찾기