酷小孩 原文 c#程式呼叫cmd執行命令
**:
string str =console.readline();程式執行結果: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();//
啟動程式
//向cmd視窗傳送輸入資訊
p.standardinput.writeline(str + "
&exit");
p.standardinput.autoflush = true;//
p.standardinput.writeline("exit");
//向標準輸入寫入要執行的命令。這裡使用&是批處理命令的符號,表示前面乙個命令不管是否執行成功都執行後面(exit)命令,如果不執行exit命令,後面呼叫readtoend()方法會假死
//同類的符號還有&&和||前者表示必須前乙個命令執行成功才會執行後面的命令,後者表示必須前乙個命令執行失敗才會執行後面的命令
//獲取cmd視窗的輸出資訊
string output =p.standardoutput.readtoend();
//streamreader reader = p.standardoutput;
//string line=reader.readline();
//while (!reader.endofstream)
//等待程式執行完退出程序
p.close();
console.writeline(output);
我在之前測試的時候沒有加exit命令,輸入其他命令後視窗就假死了,也沒有輸出內容。
2014-7-28 新增:
另一種c#呼叫cmd命令的方法,不過這種方法在執行時會「閃一下」 黑視窗,各位在使用時可以按喜好來呼叫。
//////執行cmd命令
///會顯示命令視窗
//////
指定應用程式的完整路徑
///執行命令列引數
static
bool runcmd(string cmdexe, string
cmdstr)
}catch
return
result;
}///
///執行cmd命令
///不顯示命令視窗
//////
指定應用程式的完整路徑
///執行命令列引數
static
bool runcmd2(string cmdexe, string
cmdstr)
""
", cmdexe, cmdstr, "
&exit");
mypro.standardinput.writeline(str);
mypro.standardinput.autoflush = true
; mypro.waitforexit();
result = true
; }
}catch
return
result;
}
C 程式呼叫cmd執行命令
string str console.readline 手動輸入 string str ipconfig 直接向cmd裡傳入的命令 system.diagnostics.process p new system.diagnostics.process p.startinfo.filename cmd...
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...