
我在 Windows 7 命令提示字元下。當我運行以下命令時
"C:\Program Files\abc.exe" help > out.txt
abc.exe 是一個顯示一些資訊的第三方程式。發生的情況是,打開一個新窗口,abc.exe 幫助在新窗口上列印輸出,然後窗口關閉,我回到原來的窗口。 out.txt 檔案保持為空。
如何阻止 abc.exe 開啟新視窗。我可以強制它在同一原始視窗上顯示其輸出,以便可以將其重定向到 out.txt 嗎?
答案1
我能夠解決這個問題。
在 Windows 中,有一個名為「以管理員身分開啟命令提示字元」的選項。在這種情況下,不會開啟新視窗。
答案2
應用程式可能不會輸出到 STDOUT 或 STDERR,但請嘗試此操作
"C:\Program Files\abc.exe" help > out.txt 2>&1
答案3
我遇到了同樣的問題,以管理員身份運行可以解決問題,但這不是一個可接受的答案,因為非管理員也遇到了這個問題。輸出重定向的想法沒有幫助,因為它會重定向來自非提升提示的輸出 - 該提示沒有輸出。所以它只是創建一個空文件。
我的問題是我調用的 .exe 已配置為提升運行。我啟動的 cmd 提示字元未以管理員身份執行,且啟動後無法提升。因此,它將啟動一個新的提升視窗來運行命令,該視窗將在眨眼間完成,然後退出,讓我看到沒有輸出的非提升提示。
解決方案A:以管理員身分執行cmd/powershell。然後它就可以在同一個視窗中運行。解決方案 B:將 .exe 變更為不以管理員身分執行,以免它啟動新的提升視窗。這是我選擇的選項。