2015-05-04 55 views
2

我試圖啓動cmd,打開新的命令提示符,但我不能夠給新的cmd命令行參數..我要打開新的命令提示符和插入參數的命令提示符

我試着用以下

system("start cmd") >> "system("C:\\Windows\\System32\\ipconfig"); 

不工作

system(start system("C:\\Windows\\System32\\ipconfig")); 

不工作

+0

你想在哪個平臺/語言中執行此操作? – murtazat

+0

在C語言中。實際上想在微過濾器驅動程序中實現... – UKNOWN

回答

1

啓動一個單獨的CMD贏DOWS,你需要調用CMD.EXE:

system("cmd.exe /c C:\\Windows\\System32\\ipconfig"); 
+0

我嘗試過:system(「start cmd/c C:\\ Windows \\ System32 \\ ipconfig」); 但我的屏幕沒有保持關閉 – UKNOWN

+0

謝謝,我得到了outout。 – UKNOWN

+1

好..如果您使用上述接受答案獲得解決方案。這將有助於一些人有同樣的問題.. –

2

如迪帕克·d·德賽說,你可以簡單地使用

system("cmd /c start C:\\Windows\\System32\\ipconfig"); 

但是,如果你在一個非控制檯應用程序,這裏是什麼將發生:

  • Windows將創建一個新的CMD窗口
  • 將在窗口中執行ipconfig
  • 只要程序ipconfig結束,它就會關閉窗口。

如果你想在窗口停留在命令結束後開放,您可以使用:

system("cmd /c start cmd /k C:\\Windows\\System32\\ipconfig"); 

第一cmd /c允許通過命令start這是一個內部命令。第二個cmd /c(或cmd /k)啓動一個新的shell(cmd.exe),但要求它在執行第一個命令後不關閉,而是打開一個命令循環。

實際上,第一個cmd /c是沒有必要的,因爲它暗示了system的調用。所以它應該從命令中省略,即使它是無害的(感謝@eryksun的注意)

+0

謝謝,我得到了outout ... – UKNOWN