본문 바로가기

컴퓨터

배치 파일에 특수 문자가 포함 된 ASCII 아트를 어떻게 에코합니까?

그래서 .. 이것은 (어쨌든 나에게)이 프로그램의 가장 중요한 기능입니다. 작동하려면이게 필요합니다. 웃지 마세요 .. (좋아요 웃어도 돼요)하지만 프로그램 오류가 발생하면 다음과 같이 표시하고 싶습니다.

      _ _,---._ 
   ,-','       `-.___ 
  /-;'               `._ 
 /\/          ._   _,'o \ 
( /\       _,--'\,','"`. ) 
 |\      ,'o     \'    //\ 
 |      \        /   ,--'""`-. 
 :       \_    _/ ,-'         `-._ 
  \        `--'  /                ) 
   `.  \`._    ,'     ________,',' 
     .--`     ,'  ,--` __\___,;' 
      \`.,-- ,' ,`_)--'  /`.,' 
       \( ;  | | )      (`-/ 
         `--'| |)       |-/ 
           | | |        | | 
           | | |,.,-.   | |_ 
           | `./ /   )---`  ) 
          _|  /    ,',   ,-' 
         ,'|_(    /-<._,' |--, 
         |    `--'---.     \/ \ 
         |          / \    /\  \ 
       ,-^---._     |  \  /  \  \ 
    ,-'        \----'   \/    \--`. 
   /            \              \   \ 

각 라인을 에코가 작동하지 않습니다 ...

echo _ ,---.
echo ,-',' -.___ echo /-;'._
echo // ._ ,'o \
echo ( /\ _,--',','". ) echo |\ ,'o \' //\ echo | \ / ,--'""-.
echo : \
/ ,-' `-.
echo \ --' / ) echo. `._ ,' ____,','
echo .--,' ,-- _,;'
echo `.,-- ,' ,_)--' /.,'
echo ( ; | | ) (-/ echo--'| |) |-/
echo | | | | |
echo | | |,.,-. | |_
echo | ./ / )--- )
echo | / ,', ,-'
echo ,'|
( /-<.,' |--,
echo | `--'---. / \
echo | / \ /\ \
echo ,-^---.
| \ / \ \
echo ,-' ----' / --`.
echo / \ \ \
나는 이것이 텍스트의 기호 때문이라고 가정하고 있습니다. 고칠 방법은 없나요? 아니면 "DOH"화면에서 포기해야합니까?

배치 파일
cmd
탈출
기호
아스키 아트
공유 이 질문을 개선 따르다
편집 된 시간 4 분 전

aschipfl
27.7k99 개의 골드 배지4242 개의 은색 배지7272 개의 브론즈 배지
생성 28 a.

user2863294
2741골드 배지 1 개2은색 배지 2 개7브론즈 배지 7 개
의견을 추가하다
6 개의 답변

17

이미지를 파일 (doh.txt)에 저장합니다. 그런 다음 type doh.txt배치 파일에서.

공유 이 답변을 개선 따르다
생성 28 oct. 132013-10-28 18:50:49 s.

Malk
10.9k4골드 배지 4 개28은색 배지 28 개3131 개의 청동 휘장
빠른 응답 감사합니다. cmd 프롬프트에서 ASCII를로드하는 것을 선호합니다. 오류 후 사용자에게 입력을 요청하기 때문입니다. – user2863294 '13 10 월 28 일 18:56
@ user2863294-귀하의 의견이 이해가되지 않습니다. 배치 스크립트는 TYPE을 사용하여 파일 내용을 화면에 인쇄 한 후 사용자에게 오류 메시지를 표시 할 수 있습니다. – dbenham '13 10 월 28 일 21:48
오! 나는 태블릿에 있었고 "type"이 명령의 일부라는 것을 몰랐습니다! 훌륭한! – user2863294 '13 10 월 28 일 21:56
의견을 추가하다

22

스크립트에 다음을 포함하십시오.

:::
::: _ ,---.
::: ,-',' -.___ ::: /-;'._
::: // ._ ,'o
::: ( /\ _,--',','". ) ::: |\ ,'o \' //\ ::: | \ / ,--'""-.
::: : \
/ ,-' `-.
::: \ --' / ) :::. `._ ,' ____,','
::: .--,' ,-- _,;'
::: `.,-- ,' ,_)--' /.,'
::: ( ; | | ) (-/ :::--'| |) |-/
::: | | | | |
::: | | |,.,-. | |_
::: | ./ / )--- )
::: | / ,', ,-'
::: ,'|
( /-<.,' |--,
::: | `--'---. /
::: | / \ /\
::: ,-^---.
| \ / \
::: ,-' ----' / --`.
::: / \ \
:::

for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A
이미지는 스크립트 내 아무 곳에 나 배치 할 수 있습니다. FOR 문 근처에있을 필요는 없습니다. 일반 레이블에 사용되며 주석으로 자주 사용 :::되기 때문에 각 이미지 라인의 구별 레이블로 선택했습니다 .:::

2014-10-22 업데이트

내 REPL.BAT 유틸리티를 사용하는 더 간단한 솔루션이 있습니다 -stdin 에서 정규식 검색 / 바꾸기를 수행하고 결과를 stdout에 쓰는 하이브리드 JScript / 배치 스크립트입니다. 위의 FOR 문을 다음 줄로 대체하기 만하면됩니다.

call repl "^:::" "" a <"%~f0"
REPL.BAT는 XP 이후의 모든 Windows 시스템에서 실행되는 순수 스크립트입니다. 전체 문서는 스크립트에 포함되어 있습니다. 이 솔루션은 A옵션을 사용하여 변경된 라인 만 인쇄합니다.

공유 이 답변을 개선 따르다
생성 23 may.

커뮤니티 ♦
11은색 배지 1 개
생성 28 oc.

드 벤햄
116k2323 개의 골드 배지220은색 휘장 220 개339339 브론즈 배지
의견을 추가하다

6

특수 문자 (예 : |파이프 리디렉션에 사용됨)가 작동 하려면 이스케이프해야합니다 .

그러나 echo일부 특수 배치 문자를 텍스트로 해석하는 것처럼 이스케이프 할 필요는 없습니다. 여전히 탈출해야 할 항목과 탈출 방법은 다음과 같습니다.

% = %%

^ = ^^

& = ^&

< = ^<

= ^>

| = ^|

그리고 지연된 확장이 활성화 된 경우 :

! = ^^!

공유 이 답변을 개선 따르다
생성 09 dec.

Verónica_GB
814브론즈 배지 4 개
의견을 추가하다

5

cat << "EOF"
_ ,---.
,-',' -.___ /-;'._
// ._ ,'o
( /\ _,--',','". ) |\ ,'o \' //\ | \ / ,--'""-.
: \
/ ,-' `-.
\ --' / ). `._ ,' ____,','
.--,' ,-- _,;'
`.,-- ,' ,_)--' /.,'
( ; | | ) (-/--'| |) |-/
| | | | |
| | |,.,-. | |_
| ./ / )--- )
| / ,', ,-'
,'|
( /-<.,' |--,
| `--'---. /
| / \ /\
,-^---.
| \ / \
,-' ----' / --`.
/ \ \
EOF
공유 이 답변을 개선 따르다
생성 18 dec.

다테 칸
1011은색 배지 1 개4브론즈 배지 4 개
의견을 추가하다

0

@echo off
echo _ ,---.
echo ,-',' -.___ echo /-;'._
echo // ._ ,'o \
echo ( /\ _,--',','". ) echo ^|\ ,'o \' //\ echo ^| \ / ,--'""-.
echo : \
/ ,-' `-.
echo \ --' / ) echo. `._ ,' ____,','
echo .--,' ,-- _,;'
echo `.,-- ,' ,_)--' /.,'
echo ^( ; ^| ^| ) ^(-/ echo--'^| ^|^) ^|-/
echo ^| ^| ^| ^| ^|
echo ^| ^| ^|,.,-. ^| ^|_
echo ^| ./ / )--- )
echo ^| / ,', ,-'
echo ,'^|
( /-^<.,' ^|--,
echo ^| `--'---. / \
echo ^| / \ /\ \
echo ,-^---.
^| \ / \ \
echo ,-' ----' / --`.
echo / \ \ \
http://www.robvanderwoude.com/escapechars.php

공유 이 답변을 개선 따르다
생성 28 oc.

npocmaka
49.6k15골드 배지 15 개114은색 휘장 114 개156브론즈 배지 156 개
의견을 추가하다

-5

echo this one works
echo ' * *
echo * * * *
echo * * * *
echo * * **
echo * *
echo * 0 0 *
echo * ! *
echo * *
echo * ~ *
echo * *
echo ====== ======
echo ====== ======
echo ====== ======
echo ====== ======