2012-04-05 195 views
0

我想啓動命令提示符,但不希望從它輸出任何結果。所以我開始 -cmd/q不按預期方式工作

cmd /q dir 

它工作正常,但一個cmd.exe不會退出。如果我用這個 -

cmd /q /c dir 

我可以看到dir命令的輸出,我不希望看到

+0

你想做什麼? 'cmd/q/c rem'將根本沒有輸出,但它將是無操作的。如果你不想運行它,你甚至爲什麼要調用'dir'? '/ Q'只是'echo off'的效果。沒有更多,沒有更多。它不會抑制所有輸出。 – Joey 2012-04-05 11:30:56

+0

我正在調用一些其他代碼,只是將dir作爲示例。如果我用mycode.exe替換dir,我不想看到mycode.exe – user837208 2012-04-05 11:33:32

+0

的任何輸出,你可以給你實際嘗試的代碼嗎? – PresleyDias 2012-04-05 11:35:50

回答

5

/Q選項不會禁用輸出,它只是變成ECHO OFF。這通常不是必需的,但有時它會變得有用。

要禁用所有非錯誤輸出,只需將stdout重定向到nul(>nul1>nul)。如果您還想禁用錯誤輸出,則stderr也必須重定向(2>nul)。

>nul 2>nul cmd /c dir 

附錄

舍甫琴科M有與他的問題置評的好點。您可以直接執行您的命令,而無需通過CMD。重定向仍然可以工作。

>nul 2>nul yourCommand.exe 
+2

@ user837208:在特定情況下,應該在遠程系統上執行重定向,以便不通過網絡發送輸出:psexec \\ target cmd/c「> nul 2> nul yourCommand.exe」 – 2012-04-06 05:24:38