//我在之前測試的時候沒有加exit命令,輸入其他命令後視窗就假死了,也沒有輸出內容。string str = console.readline();
//手動輸入
string str = "
ipconfig
"; //
直接向cmd裡傳入的命令
system.diagnostics.process p = new
system.diagnostics.process();
p.startinfo.filename = "
cmd.exe";
p.startinfo.useshellexecute = false; //
是否使用作業系統shell啟動
p.startinfo.redirectstandardinput = true; //
接受來自呼叫程式的輸入資訊
p.startinfo.redirectstandardoutput = true; //
由呼叫程式獲取輸出資訊
p.startinfo.redirectstandarderror = true; //
重定向標準錯誤輸出
p.startinfo.createnowindow = true; //
不顯示程式視窗
p.start(); //
啟動程式
p.standardinput.writeline(str + "
&exit
"); //
向cmd視窗傳送輸入資訊
"exit");
//向標準輸入寫入要執行的命令。這裡使用&是批處理命令的符號,表示前面乙個命令不管是否執行成功都執行後面(exit)命令,如果不執行exit命令,後面呼叫readtoend()方法會假死
//同類的符號還有&&和||前者表示必須前乙個命令執行成功才會執行後面的命令,後者表示必須前乙個命令執行失敗才會執行後面的命令
p.standardinput.autoflush = true
;
string output = p.standardoutput.readtoend(); //
獲取cmd視窗的輸出資訊
p.waitforexit();
//等待程式執行完退出程序
p.close();
console.writeline(output);
另一種c#呼叫cmd命令的方法
C 程式呼叫cmd執行命令
酷小孩 原文 c 程式呼叫cmd執行命令 string str console.readline system.diagnostics.process p new system.diagnostics.process p.startinfo.filename cmd.exe p.startinfo....
C 呼叫cmd執行ftp命令
1 c 執行cmd命令 public string execommand p.standardinput.writeline ping 134.224.48.78 p.standardinput.writeline exit stroutput p.standardoutput.readtoend ...
關於C 在後台呼叫cmd執行命令
在實際開發中,尤其是在開發相關工具的時候,常常會用到系統命令行工具cmd來在後台執行一些命令。執行命令列的方法有兩種,一種是帶有返回值的,另一種是不帶返回值的。相關方法如下。帶返回值的方法 執行帶返回值的cmd指令方法 string executecmdwithoutput string comma...