C 程式呼叫cmd執行命令

2022-03-23 20:51:31 字數 2074 閱讀 9274

酷小孩 原文 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...