2012-12-02 7 views
1

此代碼:cmd中的管道在執行刪除回顯的行結束之前有什麼反斜槓?

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

...從Echoing in the same line來了,產生下面的輸出在cmd窗口:

Executing backup....backup procedure 

不過,我似乎無法找到通過谷歌前向什麼解釋斜線確實給¿pipe?引起set的輸出爲echoconsole/stdout

如果任何人也可以建議一個好的網站,瞭解更多關於cmd/cmd程序的功能,這將不勝感激。

+0

'echo'在管道前面顯示'set/p = ...'的結果,不管'/'如何,所以我不確定你的問題在問什麼。 – user1201210

+0

(它也會在'echo'後面用隨機垃圾打印'set/p = ...',因爲它正在讀取管道內容而不是它收到的參數。) – user1201210

+0

@tenterhook謝謝。所以它確實如此。抱歉,添麻煩了。 – user66001

回答

0

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

1)回聲護理集打印/ P = ...結果有或沒有管前/,所以我不知道你的問題是問什麼

2 )(它也會在回顯之後打印set/p = ...隨機垃圾,因爲它正在讀取管道內容而不是它收到的參數。)

因此,我會建議對引用的SO帖子進行編輯,防止他人混淆。

2

echo/只是一種僅打印空行的方法,而不是ECHO IS ON對於單個echo

但在這種情況下,它完全不重要,因爲回聲的唯一用途是爲管道創建一些內容,所以set/p不會等待用戶輸入。

但是這種不使用換行符來回顯文本的方式效率非常低,因爲管道會創建兩個新的cmd.exe實例。
這是更簡單,更快地使用

<nul set /p "=My Text" 

NUL重定向也將停止對用戶輸入的等待。