Batch file 运行时获取批处理错误

Batch file 运行时获取批处理错误,batch-file,echo,Batch File,Echo,当我运行此命令时,在它关闭之前,我只能看到几行,例如u和一个黑色批处理文件屏幕关闭。这个|字符称为管道。它分离命令,将一个命令的输出推入另一个命令的输入。因为它们在批处理脚本中有特殊的意义,所以您不能只回显它们而不使用插入符号进行转义,或者将它们设置为变量并使用延迟扩展进行检索 下面是一个简单的转义示例: @echo关闭 setlocal 回声_______ 回声^| 回声^| 回声^|_______ 回声^| 回声^| 回声^|_______ 暂停 下面是一个延迟扩展的示例: @echo关闭


当我运行此命令时,在它关闭之前,我只能看到几行,例如u和一个黑色批处理文件屏幕关闭。

这个
|
字符称为管道。它分离命令,将一个命令的输出推入另一个命令的输入。因为它们在批处理脚本中有特殊的意义,所以您不能只回显它们而不使用插入符号进行转义,或者将它们设置为变量并使用延迟扩展进行检索

下面是一个简单的转义示例:

@echo关闭
setlocal
回声_______
回声^|
回声^|
回声^|_______
回声^|
回声^|
回声^|_______
暂停
下面是一个延迟扩展的示例:

@echo关闭
延迟扩展
设置“I=|”
回声_______
回声\/!我我!/\/\!我!\/!我我
回声\/!我我我我我我!\/!我我
回声\/!我!我我我我我!\/!我我_______
回声\/\/!我我我我我我我我
回声\/\/!我我我我我我我我
回声\/\/!我!我!我我我_______
暂停
作为高级练习,如果您希望使figlet“欢迎”文本在源代码中保持可读性,您可以采用:

@echo关闭
setlocal
呼叫:Herdeoc welcome&&goto end\u welcome
_______             _____    _______              _______
\                /  |          |        /     \  /       \  |\    /|  |
\              /   |          |        |        |       |  | \  / |  |
\            /    |_______   |        |        |       |  |  \/  |  |_______
\    /\    /     |          |        |        |       |  |      |  |
\  /  \  /      |          |        |        |       |  |      |  |
\/    \/       |_______   |______  \_____/  \_______/  |      |  |_______
:结束欢迎
暂停
后藤:EOF
雷姆//https://stackoverflow.com/a/15032476/1683264
:埃雷多克
延迟扩展
出发=
对于/f“delims=“%%A in('findstr/n“^”“%~f0”)do(
设置“行=%%A”和设置“行=!行:*=!”
如果定义了go(如果#!行:~1!=#!go::=!(转到:EOF)否则回显(!行!)
如果“!line:~0,13!”==“调用:herdeoc”(
对于/f“tokens=3 delims=>^”%%i in(“!line!”)do(
如果#%%i==#%1(
对于/f“tokens=2 delims=&”%%I in(“!line!”)do(
对于“%%I”中的/f“tokens=2”%%x,请设置“go=%%x”
)
)
)
)
)
后藤:EOF

顺便说一句,您应该记住,默认情况下,命令提示窗口为80列。对于典型的控制台窗口,您的屏幕截图看起来太宽了。

您应该提供代码,而不是图像,以便我们尝试解决问题。我可以想象,没有人有足够的动力从您的屏幕截图中重新键入代码特别是因为我们看不到世界末日lines@KIC嗯,我想我很抱歉,但是当我尝试输入代码时,网站把它搞砸了,所以它只是一堆行:(要在堆栈交换上创建代码块,用一个制表符或四个空格缩进。)非常感谢,顺便说一句,我使用的是命令“mode 1000”以前。我只是想知道什么是heredoc?(对不起,我不太擅长编程)这是一段源代码,被视为一个单独的文件。基本上,批处理解析器跳过了
转到end\u welcome
:end\u welcome
之间的内容,但是
:herdoc
函数读取该部分就像从外部文本文件读取一样。有关完整解释,请参阅。