我看到@
在這樣的背景下使用的是什麼意思?什麼是「@」在Windows批處理腳本
回答
這意味着不輸出相應的命令。比較以下兩個批處理文件:
@echo foo
和
echo foo
前者只有foo
作爲輸出而後者則打印
H:\Stuff>echo foo
foo
(在這裏,至少)。可以看出,運行的命令也是可見的。
echo off
將關閉整個批處理文件。但是,echo off
調用本身仍然可見。這就是爲什麼你在批處理文件的開頭看到@echo off
。關閉命令回顯和不會回顯命令將其關閉。
在更復雜的批處理文件中刪除該行(或將其註釋掉)通常是一個有用的調試工具,因爲您可以看到在出現錯誤消息之前運行的內容。
@
禁用該命令的回顯。沒有它,echo start eclipse.exe
行將打印預期的start eclipse.exe
和行echo start eclipse.exe
行。
echo off
關閉默認命令回顯。
因此@echo off
默認關閉命令回顯,並且只輸出要寫入的批處理作者實際上被寫入。
這意味着「不要將命令回顯到標準輸出」。
而奇怪的是,
echo off
將發送echo off
到輸出!因此,
@echo off
設置此自動迴應行爲 - 並停止它爲所有未來的命令。
來源:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
另一個有用的時間,包括@是當你在命令行中使用FOR
。例如:
FOR %F IN (*.*) DO ECHO %F
上一行顯示每個文件:命令提示,所述命令ECHO
,和ECHO
命令的結果。這樣:
FOR %F IN (*.*) DO @ECHO %F
只顯示ECHO
命令的結果。
可以包括@在這樣的「腳本塊」:
@(
echo don't echoed
hostname
)
echo echoed
,特別是不這樣做:)
for %%a in ("@") do %%~aecho %%~a
默認情況下,一個批處理文件將顯示它的命令,因爲它運行。這個第一個命令的目的是@echo off就是關掉這個顯示。命令「echo off」會關閉整個腳本的顯示,但「echo off」命令本身除外。 前面的「at」符號使得該命令也適用於自身。
我的帖子中看不到更多或更好的信息,就像其他5年前的帖子一樣。 – jeb
你使你的努力如此之大。可憐 –
- 1. 在Windows批處理腳本
- 2. 在Windows批處理腳本
- 3. Windows批處理腳本 - 在
- 4. 在Windows批處理腳本
- 5. '^'在批處理腳本中做什麼
- 6. Windows批處理腳本
- 7. Windows批處理腳本
- 8. 批處理腳本保存在windows
- 9. 試圖在Windows批處理腳本
- 10. 在批處理腳本之間顯示的批處理腳本
- 11. 批處理腳本:打開printingtool的Windows
- 12. Windows批處理腳本使用FOR
- 13. Windows批處理腳本:子串計算
- 14. Windows批處理 - 每個腳本
- 15. Windows批處理腳本提交參數
- 16. Ant的Windows批處理腳本
- 17. Windows批處理腳本url解碼
- 18. 時序與Windows批處理腳本
- 19. Windows批處理腳本問題
- 20. 學習Windows批處理文件腳本
- 21. Windows批處理腳本轉到錯誤
- 22. Windows批處理腳本輸出日誌
- 23. 轉換shell腳本,Windows批處理
- 24. Windows批處理腳本嵌套循環
- 25. SVN&reviewboard的Windows批處理腳本
- 26. 批處理腳本
- 27. 批處理腳本
- 28. 批處理腳本
- 29. 在批處理腳本
- 30. 在批處理腳本
沒有答案。 – PsychoData
@PsychoData:有趣的是,你downvoted唯一的答案,提供了一個有用的信息,其他4個答案,而同時,已經以相同的方式回答了問題... – Aacini
我downvoted,因爲它不是一個回答他的問題。你甚至不會對@做什麼解釋。如果你有很好的用法例子,但它仍然不是他的問題的答案。你也許不知道我也用投注解釋了它的作用以及它來自哪裏,從而提出了答案。我不是無緣無故地投降了。你的「答案」不是答案。這是一個有點相關的陳述。 – PsychoData