batch-file - 如何在批处理文件中回显包含特殊字符的 ASCII 艺术?

标签 batch-file cmd escaping symbols ascii-art

所以..这是(无论如何对我来说)这个程序最重要的功能。我需要这个才能工作。请不要笑..(好吧你可以笑)但是当我的程序出错时,我希望它显示这个:

          _ _,---._ 
       ,-','       `-.___ 
      /-;'               `._ 
     /\/          ._   _,'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”屏幕上放弃吗?

最佳答案

在脚本中包含以下内容:

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

for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A

图像可以放置在脚本中的任何位置。它不需要靠近 FOR 语句。我选择 ::: 作为每个图像行的区分标签,因为 : 用于普通标签,而 :: 经常用作评论。

2014-10-22更新

使用我的 REPL.BAT utility 有一个更简单的解决方案- 混合 JScript/批处理脚本,在标准输入上执行正则表达式搜索/替换并将结果写入标准输出。只需用以下行替换上面的 FOR 语句即可:

call repl "^:::" "" a <"%~f0"

REPL.BAT 是纯脚本,可​​以在 XP 及以上版本的任何 Windows 计算机上运行。完整的文档嵌入在脚本中。此解决方案使用 A 选项仅打印已更改的行。

关于batch-file - 如何在批处理文件中回显包含特殊字符的 ASCII 艺术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19642622/

相关文章:

batch-file - 使用批处理文件从不同的组件调用另一个批处理文件

batch-file - 从批处理文件中打开 URL 而不使用浏览器

PHP 将 JSON 字符串回显到 HTML 输入值中 - 需要字符转义

c++读取文件\在文本中

php - 如何从特定字符后开始删除字符串

datetime - 将当前时间与 Windows 批处理文件中上次修改的文件日期时间进行比较

batch-file - 遍历一个文件夹中的一组文件

c# - 如何从SSIS调用cmd.exe并在命令行执行命令

windows - 如果...或如果...在 Windows 批处理文件中

Python 未被识别为 Windows 7 中的内部或外部命令