Wednesday, May 31, 2006
[배치 파일] echo 명령에서, 쌍따옴표, 꺾은 괄호(부등호) 등 특수문자 표현하기
윈도우 도스창의 echo 명령으로 특수 문자를 출력하는 방법입니다.
<, >, | 이런 문자는 echo 명령으로 출력할 수 없습니다. 왜냐하면 <, >, | 이런 기호들은 재지향에서 사용되는 특수문자이기 때문입니다.
이때는 어떤 특수문자 바로 앞에 캐럿 Caret 기호(^)를 붙이면 됩니다.
echo ^>
echo ^<이것은 꺾은 괄호입니다^>
echo ^|
이것은 캐럿(^) 기호 자체를 출력하는 방법:
echo ^^
한 가지 제약이 있는데
/?
이 문자열(슬래쉬+물음표)을 echo 로 나타내기는 힘듭니다. echo에 대한 도움말이 나와 버립니다.
echo "/?" 이렇게 따옴표를 붙이거나, 아니면 echo ABCD /?
이렇게 /? 앞에 어떤 문자열을 배치시키는 방법밖에 없었습니다.
업데이트
========
pinetree822님께서 알려주신 대로
echo./?
이렇게 하니 "슬래쉬+물음표"가 에코 명령으로 출력이 되는군요.
=========
<, >, | 이런 문자는 echo 명령으로 출력할 수 없습니다. 왜냐하면 <, >, | 이런 기호들은 재지향에서 사용되는 특수문자이기 때문입니다.
이때는 어떤 특수문자 바로 앞에 캐럿 Caret 기호(^)를 붙이면 됩니다.
윈도우/DOS의 echo: 특수문자 출력 예제
echo ^>
echo ^<이것은 꺾은 괄호입니다^>
echo ^|
이것은 캐럿(^) 기호 자체를 출력하는 방법:
echo ^^
한계
한 가지 제약이 있는데
/?
이 문자열(슬래쉬+물음표)을 echo 로 나타내기는 힘듭니다. echo에 대한 도움말이 나와 버립니다.
echo "/?" 이렇게 따옴표를 붙이거나, 아니면 echo ABCD /?
이렇게 /? 앞에 어떤 문자열을 배치시키는 방법밖에 없었습니다.
업데이트
========
pinetree822님께서 알려주신 대로
echo./?
이렇게 하니 "슬래쉬+물음표"가 에코 명령으로 출력이 되는군요.
=========
tag: batch
배치파일 | DOS CMD BATCH .BAT
C:\Documents and Settings\Administrator>set /p SMK="/?"
/?
기타다른..
echo./?
exam >>
chr . ==/ ==\ ==+ ==: ==[ ==] ==(
Hex 2e 2f 5c 2b 3a 5b 5d 28
chr . !=; !=^ !== !="space"
Hex 2e 3b 5e 3d 20
eof;
좋은 정보 감사합니다^_^
어떻해 정보 찾다 보니 여기로 왔네요.
예전 샘플을 보고 다시 개작한 글입니다.
멜웨어 프로그램 실행시 잠시 주의글 보여주는 박스입니다.
가진런히 보여줄수 있어요.
도스에서 vb이용한 개행문자 넣기요.
이용하면 가지런히 할수 있어요.
echo.msgbox "%USERNAME%님 안녕하세요." ^& Chr(13) ^& Chr(10) ^& "1.SCAN은 바이러스 검색 치료 " ^& Chr(13) ^& Chr(10) ^& "2.REPAIR는 바이러스 치료 " ^& Chr(13) ^& Chr(10) ^& "3.이전환경 복구실행." > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del msg %USERNAME% msg\TEMPmessage.vbs /f
adwcleaner.exe
exit
제가 다시 임의적으로 자신파일까지 삭제해주는 내용도 넣었습니다.
echo.msgbox "%USERNAME%님 안녕하세요." ^& Chr(13) ^& Chr(10) ^& Chr(13) ^& Chr(10) ^& "1.SCAN은 바이러스 검색 " ^& Chr(13) ^& Chr(10) ^& Chr(13) ^& Chr(10) ^& "2.Cleaning은 바이러스 치료 " ^& Chr(13) ^& Chr(10) ^& Chr(13) ^& Chr(10) ^& "3.바이러스치료가 있다면(이전환경복구파일 실행)" ^& Chr(13) ^& Chr(10) ^& Chr(13) ^& Chr(10) ^& "확인을 눌러주시면 멜웨어 치료프로그램이 실행합니다." > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del msg %USERNAME% msg\TEMPmessage.vbs /f
adwcleaner.exe
del %0
exit
좋은 정보 감사합니다^_^
<< Home