string str = console.
readline()
;system.diagnostics.process p =
newsystem.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
;"exit");
//向標準輸入寫入要執行的命令。這裡使用&是批處理命令的符號,表示前面乙個命令不管是否執行成功都執行後面(exit)命令,如果不執行exit命令,後面呼叫readtoend()方法會假死
//同類的符號還有&&和||前者表示必須前乙個命令執行成功才會執行後面的命令,後者表示必須前乙個命令執行失敗才會執行後面的命令
//獲取cmd視窗的輸出資訊
string output = p.standardoutput.
readtoend()
;//streamreader reader = p.standardoutput;
//string line=reader.readline();
//while (!reader.endofstream)
// p.
waitforexit()
;//等待程式執行完退出程序
p.close()
; console.
writeline
(output)
;
非同步的方式
///
/// 執行一條command命令
///
/// 需要執行的command
/// 輸出
/// 錯誤
public
static
void
executecommand
(string command,
outstring output,
outstring error);
process.errordatareceived +
=(sender, e)
=>
;//等待退出
process.
waitforexit()
;//關閉程序
process.
close()
;//返回流結果
output = outputdata;
error = errordata;
}catch
(exception
)}
c 執行cmd命令
using system using system.collections.generic using system.linq using system.text using system.threading using system.diagnostics catch exception e re...
C 執行DOS命令
doscommand dos命令語句 public string execute string doscommand 執行dos命令,返回dos命令的輸出 dos命令 等待命令執行的時間 單位 毫秒 如果設定為0,則無限等待 返回dos命令的輸出 public static string execu...
c 中執行dos命令
在程式中若要呼叫外部程式,可以通過引入system.diagnostics命名空間。這裡以呼叫.bat批處理檔案或者dos命令為例。一 呼叫dos命令 需新增的命名空間 using system.diagnostics using system.io public string call strin...