使用 System.Diagnostics.Process.Start();
如:System.Diagnostics.Process.Start("abc.txt");
在.net裡,提供了Process類,提供我們強大的調用外部工具功能,並透過重新導向輸入與輸出,可以取得執行結果,下面就用一個例子來示範在一個WinForm裡輸入一個Dos命令,然後呼叫CMD.EXE來執行,並取回執行的結果。
[程式畫面]
[程式碼]
1
private
string
RunCmd(
string
command)
2 {
3 // 實例一個Process類,啟動一個獨立進程
4 Process p = new Process();
5
6 // Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
7
8 p.StartInfo.FileName = " cmd.exe " ; // 設定程序名
9 p.StartInfo.Arguments = " /c " + command; // 設定程式執行參數
10 p.StartInfo.UseShellExecute = false ; // 關閉Shell的使用
11 p.StartInfo.RedirectStandardInput = true ; // 重定向標準輸入
12 p.StartInfo.RedirectStandardOutput = true ; // 重定向標準輸出
13 p.StartInfo.RedirectStandardError = true ; // 重定向錯誤輸出
14 p.StartInfo.CreateNoWindow = true ; // 設置不顯示窗口
15
16 p.Start(); // 啟動
17
18 // p.StandardInput.WriteLine(command); // 也可以用這種方式輸入要執行的命令
19 // p.StandardInput.WriteLine("exit"); // 不過要記得加上Exit要不然下一行程式執行的時候會當機
20
21 return p.StandardOutput.ReadToEnd(); // 從輸出流取得命令執行結果
22
23 }
2 {
3 // 實例一個Process類,啟動一個獨立進程
4 Process p = new Process();
5
6 // Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
7
8 p.StartInfo.FileName = " cmd.exe " ; // 設定程序名
9 p.StartInfo.Arguments = " /c " + command; // 設定程式執行參數
10 p.StartInfo.UseShellExecute = false ; // 關閉Shell的使用
11 p.StartInfo.RedirectStandardInput = true ; // 重定向標準輸入
12 p.StartInfo.RedirectStandardOutput = true ; // 重定向標準輸出
13 p.StartInfo.RedirectStandardError = true ; // 重定向錯誤輸出
14 p.StartInfo.CreateNoWindow = true ; // 設置不顯示窗口
15
16 p.Start(); // 啟動
17
18 // p.StandardInput.WriteLine(command); // 也可以用這種方式輸入要執行的命令
19 // p.StandardInput.WriteLine("exit"); // 不過要記得加上Exit要不然下一行程式執行的時候會當機
20
21 return p.StandardOutput.ReadToEnd(); // 從輸出流取得命令執行結果
22
23 }