打印ASCII艺术时Batch脚本崩溃问题求助
批处理打印ASCII图崩溃的解决方案
- 崩溃原因:代码里每行
echo的ASCII内容包含&、!这类CMD特殊字符,这些字符会被CMD当作命令解析,触发语法错误导致崩溃。 - 修复方案:
- 在代码开头添加
@echo off,关闭命令回显,避免干扰输出内容。 - 把每个
echo后的ASCII内容用双引号括起来,让CMD将整个内容视为字符串输出,不再解析其中的特殊字符。
- 在代码开头添加
修复后的完整代码:
@echo off :91 title 911 turbo echo please turn on fullscreen and wait... timeout 5 echo "55555555555555555555555555555555555555555YYJJ???777777777777????JJJJJJYYYYYY555YY555YYY555PPPGGBBBP5PGGPP5PPGGGGGPGGGGGGPGGGGGGBB#" echo "PPPPPPP55555555555555555555555555YJ?7~^:::.:^!7?Y55PGGBB#######&&&&&&#####BGGP5555555555PPPPPPPPPGBBGGGGGGGGBBBBBBBBBBGBBBBBBBBBB##" echo "PPPPPPPPPPPP555555555555555555?!^^::::::..YG######&&&&&&&&&&&&&&&&&&&&&&####BB#BPPPPPPPPPPPPPPPPPGGGGBBBBBBBBB##################BB###" echo "PPPPPPPPP55PPPP555555555PP5Y?!~!~~~^^^:!~!#PGGGGGGGGGGGGG#&&&&&&&&&&#BBBBGBGGGBBP55PPPPPPPP5PPPPGGBBBBB##B#######&###&&&##&&#########" echo "GPPPPPPPPPPPPPPPPPP555555?77!!Y:....:::7:~BGPGGGGBBBGGBB#&&&&&&&&&&##&&BBBBBBBGGBBG5Y5PPPPGGGGGGGBBBBBBB#########&####&&&&&&&&&#####&&" echo "GGGPPPPPPPPPPPPPPPPP555?77~:.!7.....:.~~:^GBGGBBBBBBB#&&&&&&&&&&&&&##&&BGGBBBGGGBBGP5J5PPGGP55PGBBBBBBBB#####&####&&&&&&&###&###&&&&&&&" echo "PPPPPPP55555Y555555YYJ!7~:..:?^.....:^7^.^5GGBGBBBBB###B&&&&&&&&&&&&B#&&##&&&&&#####&B##GGBBBJ7Y5PGBBBBBBBBBBB#BBBB##&&&#####&##&&&&&&&&" echo "PPP555555555~:^7?7!~^.7^....^7:...:^~!?J:~5GPBGGGBBBBBBBBBBBBGPP#BBGGGBBBBBB###BYY55P55JY5J55555P55PBBBBBBBBBBB###&#########&&&&&&&&&" echo "PPPPPP5555555J77???J7. ..::::^^:::^^~~~7J7!7?JJJJ?77!!~~~~^^^^^^~7????????77?777!:.......::^^:......:^^~!?JYPGB#######&&########&&#" echo "PPPPPPPPPP555P5Y?~:. .::... ...........:::::::::::::::::.::::::::::::::::::.. .:!J5PB#BB###BBBBBBGGBBB" echo "PPPPPPPPPPPPY7^.... .. :!^. ....^!!!~^:::::::^^^^^^^^^^^^^^^^^^^^^:. .!?Y5YYPPPGPPP5P5PP5555P" echo "GGGPPPPPPP5!^:. ....?5^..:::............. .... . ... :7JYYJY?~~~~~~~~~~~~~~~~~!!!!!!!!!!~~^. .!PP5?YYY5555YYJJJ??YJY5" echo "GPPP5555YY?GBP5J: .?P7:.:::::::::::::::::.:....:!!~:..... .. .^?P5JJY5J?7777!!!!!!!!!777777777777777!~^:!?5JJJYPPPPPPPPPP5555555" echo "PPPGGGGBYBBPP5J5:.~^. .::::::::::::::::::::..JBBGP57:.... .::.:!YYYY?5PP5YJJ???777777777?7JJ????????????JJY5PPBBBGPPPPPPPPGGGGGGG" echo "&&&&&###J7B5PJ?G?5::::.:::::::::::::::::::::.J#G55Y?!~^.::.:::::!J55PGGGPYYJJYJJJJJJJJJJJYYYYYYYYYYYYYYYYY555P5PPPYJYPPPPPPPPPPPPP" echo "BBGGGGGP!7P5P?^!^P!~~~~~:::::::::::::::::::::GGJJY?PP:.:^^^:....:!?JYYYJJJJJJJYYJJJJJJJJJJJJJJJJJJJJJJJJJYYYYYY55PPPPPPPPPPPGGGGGG" echo "GGGGGPPPY75YPJ?77P5^7!~~~:::::::::::::::::::~G5?J:^G?.^^:^::..::.::^~!7???JJYYYYYYYYYYYY55555555PPPPPGGGGGGGGGB&@@#B#GPPPPGPPPGGGG" echo "GGGGPPPPP5Y!!!~!.5#!!7!~^^^:::::::::::::::::~PJ5JJ!^~7G5^^!~^!J?!?5PPGGPGPB&&&BGGPPGPGGGGGGGGGGGGBBBBBBBBBBBBB##&#B#BPPPPPPPPPPPGG" echo "PPPPPP5555P7 ~~!YB&5~?7!~^::^^^^^^::::::::::~P55JJ77~^?Y!^!!^^~~~!JY5555PPGB#BGPPGGGGGGGGGGGGGGGGGGGGBBBBB#########&B?77???Y555PPP" echo "GPPPPPPPPP5. .:!G#&&J5P5YJ77!~~^^^^^::::::^:^5!!!7::^77JJ!~7~^^:^^~!?5PGGGGGGBBBBBBB###########&&&&&&&&&&&&&&@@@@@&&&&G55555PPPPPPPP" echo "PPPPPP555555J:.:~B&&@#&&#BBBGPP5555YYJ??7!!~~5^.:JP!7YP5YB~77!~^^~~7YPGGBBB&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#BBBBBBBBBBBB##" echo "55555555555PPYP#&@@@@@@@&##&&&&&&&&&&&&&&&&###BY...!?7J~!B&G7??7!!!7JPGBBBBB########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@&&##########&&&&&&&&&" echo "5555555555555PPGGGGBBBBBBBBB#############&&&&&&&5^ .:7G&&@&###BB##&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" echo "5555555555YYYYYYYYJYYYYYJYYYYYYYYY555555PPPPPPGGGY7!75#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&" pause >nul
如果不想输出双引号,也可以逐个转义特殊字符(比如把&改成^&),但用双引号包裹是最简便的处理方式。
内容的提问来源于stack exchange,提问作者itrytowritecodesandtheyfail
相关产品推荐
相关产品推荐

