0
A
回答
2
首先對微軟的文章關於Using command redirection operators看看。
2>&1
重定向寫入錯誤輸出流STDERR到標準輸出流STDOUT錯誤消息。這會導致標準消息以及寫入相同數據流的錯誤消息。
上印刷版本寫入STDOUT的java.exe
標準和錯誤消息是由使用|
得到輸出只包含的版本信息的行,並通過java.exe
忽略所有其它線路輸出用作輸入命令FINDSTR。
這個命令顯然是嵌入在FOR循環。因此,有必要逃避>
和&
和|
與^
獲得應用於java.exe
而不是命令執行所有這些重定向操作符本身,這將導致語法錯誤。
打開命令提示符窗口並運行那裏只是java -version
通過的Java以查看版本信息輸出,如果命令處理器能找到一個文件java.*
在當前目錄中的環境變量PATHEXT列出的文件擴展名或表列的目錄在環境變量PATH 在所有。
在命令提示窗口java -version | findstr /i "version"
下次運行看到搜索不區分大小寫的包含字符串version
的線什麼命令FINDSTR輸出。
2>&1
分別2^>^&1
是在我的觀點是不必要的。
相關問題
- 1. 批處理文件命令/處理
- 2. powershell批處理管道
- 3. 使用批處理命令
- 4. 多個批處理命令
- 5. Appserv命令行批處理
- 6. DOS批處理命令
- 7. 批處理命令錯誤
- 8. 批處理命令解釋
- 9. 批處理文件命令
- 10. 如何在Windows批處理中編寫管道命令Linux?
- 11. CMD/DOS /批處理命令重命名文件的管理員
- 12. cmd中的批處理命令與批處理文件
- 13. 批處理文件顯示批處理命令
- 14. 在Windows批處理管道反引號
- 15. 管道輸出到批處理腳本
- 16. 批處理:什麼是管道|用於?
- 17. Spring批處理項目集成了Spring批處理管理器
- 18. 批處理編程,錯誤處理和啓動命令
- 19. DOS批處理命令文件 - 迭代處理
- 20. 批處理命令從文件
- 21. 自動化Hadoop的批處理命令
- 22. windows批處理多行命令?
- 23. 轉義「)」在Windows批處理「的命令
- 24. Windows批處理:「超時」命令模擬
- 25. ant build後運行批處理命令
- 26. 彈簧批處理 - 命令行執行
- 27. 批處理命令打開文件夾
- 28. 批處理命令執行順序
- 29. java命令行批處理文件
- 30. 批處理命令提取的可變
可能這是在for循環中執行的,這就是爲什麼它是'2 ^> ^&1' – npocmaka
是的,@npocmaka,我也這麼認爲,也有'^ |';特別是封閉燒毛引號'「」'看起來像在命令行被解析的'爲/ F'環... – aschipfl
我在我的答案已經寫的命令在__FOR__循環使用明顯。但是我不明白'2 ^> ^&1'在獲取Java版本時的用法。如果通過'cmd.exe'找不到'_。_ PATHEXT__'中定義的文件擴展名'java。*',使用'2 ^> nul'就足以抑制命令處理器輸出的錯誤信息。我沒有看到任何真正的理由的錯誤信息重定向到比抑制錯誤信息等標準的消息流。 – Mofi