C 呼叫命令列程式

2021-07-09 18:54:26 字數 2043 閱讀 6051

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.diagnostics;

///

/// 執行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;

//獲取cmd視窗的輸出資訊(正式下面這句導致同步等待)

//string output = mypro.standardoutput.readtoend();

mypro.waitforexit();

mypro.close();

result = true;}}

catch

return result;

}static void main(string args)}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

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;

"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);}}

}

在程式裡呼叫命令列程式

在程式裡呼叫命令列程式,一位cnblog的仁兄寫的 process早就有辦法了,只不過我沒有注意.如呼叫乙個命令列 cmd c dir c winnt 把結果放到乙個字串裡.processstartinfo psi new processstartinfo cmd c dir c winnt psi...

CMD 如何批量呼叫命令列程式

最近在研究守望先鋒的解包,然後中途有乙個步驟,將00c檔案通過乙個命令列程式轉為obj格式。但是我遇到乙個問題,這個命令列程式一次只能轉換乙個檔案,而00c檔案足足有7400個以上,這就難倒我了。固然這個命令列程式有著原始碼,但是對於比較弱雞的我來說,沒有什麼辦法。後來在朋友的指點下,發現了解決辦法...

C 呼叫命令列

開關 c表示執行完命令就退出 system.diagnostics.process cmd system.diagnostics.process.start cmd.exe c xcopy c test1 c test2 y q s cmd.waitforexit system.diagnostic...