cmd中管道前的正斜杠用于删除回音的行尾?

cmd中管道前的正斜杠用于删除回音的行尾?,cmd,echo,pipe,carriage-return,Cmd,Echo,Pipe,Carriage Return,此代码: @echo off echo/|set /p ="Executing backup...." echo/|set /p =" backup procedure" 。。。来自并在cmd窗口中生成以下输出: Executing backup....backup procedure 然而,我似乎无法通过谷歌找到一个解释,说明正斜杠对管道做了什么?导致set的输出被echo发送到控制台/stdout 如果有人能推荐一个好的网站来学习更多关于cmd/cmd程序

此代码:

    @echo off
    echo/|set /p ="Executing backup...."
    echo/|set /p =" backup procedure"
。。。来自并在cmd窗口中生成以下输出:

    Executing backup....backup procedure
然而,我似乎无法通过谷歌找到一个解释,说明正斜杠对
管道做了什么?
导致
set
的输出被
echo
发送到
控制台/stdout

如果有人能推荐一个好的网站来学习更多关于
cmd
/
cmd
程序的类似功能,我们将不胜感激。

关心

1) echo打印set/p=。。。有没有管道,所以我不确定你的问题是什么

2) (它还将在回显后打印set/p=…和随机垃圾,因为它读取的是管道传输的内容,而不是接收到的参数。)


因此,我建议对引用的SO帖子进行编辑,以防止其他人混淆。

echo/只是一种只打印空行的方式,而不是针对单个
echo
打印
echo

但在这种情况下,它完全不重要,因为echo的唯一用途是为管道创建一些内容,所以set/p不会等待用户输入

但是,这种不使用换行符回送文本的方法效率非常低,因为管道会创建两个新的cmd.exe实例。
它使用起来更简单、更快

<nul set /p "=My Text"

echo
在管道前打印
set/p=…
的结果,无论是否带有
/
,因此我不确定您的问题是什么。(它也会在
echo
后打印
set/p=…
的随机垃圾,因为它正在读取管道中的内容,而不是它收到的参数。)@提心吊胆谢谢。的确如此。很抱歉给您添麻烦。没问题,这个问题很有趣,我可以试着运行命令;)