在cmd中管道前面的正斜杠有什么作用来删除回波的行尾?

时间:2012-12-02 01:00:24

标签: cmd echo pipe carriage-return

此代码:

    @echo off
    echo/|set /p ="Executing backup...."
    echo/|set /p =" backup procedure"

...来自Echoing in the same line并在cmd窗口中生成以下输出:

    Executing backup....backup procedure

但是,我似乎无法通过谷歌找到正斜杠对¿pipe?做什么导致set的输出为echo ed < em>到console / stdout

如果有人也可以建议一个好的网站来了解更多关于此类cmd / cmd计划的功能,我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

echo/只是一种打印空行的方式,而不是单ECHO IS ON的{​​{1}}。

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

但是这种在没有换行的情况下回显文本的方式非常低效,因为管道会创建两个新的cmd.exe实例。
使用

更简单,更快捷
echo

来自<nul set /p "=My Text" 的重定向也将停止等待用户输入。

答案 1 :(得分:0)

照顾https://stackoverflow.com/users/1201210/tenterhook

1)echo打印set / p = ...的结果有或没有管道之前的/,所以我不确定你的问题是什么

2)(它也会在回声之后用随机垃圾打印set / p = ...因为它正在读取管道内容而不是它接收到的参数。)

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