全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4682
推到 Plurk!
推到 Facebook!

WebForm如何執行外部執行檔

尚未結案
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-22 22:37:13 IP:210.68.xxx.xxx 未訂閱
請問大大: 利用C#如何執行外部的執行檔例如:如果要呼叫dir又要下/w的參數,將結果輸出成.txt應該如何做呢?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-24 21:34:59 IP:220.131.xxx.xxx 未訂閱
引言:利用C#如何執行外部的執行檔例如:如果要呼叫dir又要下/w的參數,將結果輸出成.txt應該如何做呢?
System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(); p.FileName="cmd.exe"; p.Arguments = "/c dir c:\\ > c:\\file.txt"; System.Diagnostics.Process.Start(p); WebForm如何執行外部執行檔 ..你在測試看看 網海無涯,唯學是岸! 發表人 - qoo1234 於 2005/04/24 21:46:59 發表人 - qoo1234 於 2005/04/24 21:50:39
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-25 00:43:43 IP:219.80.xxx.xxx 未訂閱
引言: System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(); p.FileName="cmd.exe"; p.Arguments = "/c dir c:\\ > c:\\file.txt"; System.Diagnostics.Process.Start(p); WebForm如何執行外部執行檔 ..你在測試看看
經過測試雖然compiler沒問題但是最後執行結果是沒有的!!沒有產生任何的檔案!難道WEBFROM無法執行呼叫執行嗎?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-25 10:44:52 IP:220.131.xxx.xxx 未訂閱
不存檔方式作法(WebForm):
  public void Button1_Click (object sender, System.EventArgs e) {
   System.Diagnostics.Process p = new System.Diagnostics.Process(); 
   
   p.StartInfo.FileName = "cmd.exe";
   p.StartInfo.Arguments = "/c dir c:\\";
   p.StartInfo.UseShellExecute = false;
   p.StartInfo.RedirectStandardOutput = true;
   p.Start();
   Response.Write(p.StandardOutput.ReadToEnd());
   p.WaitForExit();  
  } 
第一次回覆 存檔方式,限WindowsForm可以正常執行... WebForm此範例到取得 string output = p.StandardOutput.ReadToEnd(); 字串結果後,存檔方式請自行處理。 網海無涯,唯學是岸! 發表人 - qoo1234 於 2005/04/25 11:13:58
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-25 11:26:39 IP:210.68.xxx.xxx 未訂閱
當看到有執行結果時,真的是興奮萬分!程式原來是有在跑的! 當在cmd中下命令時,如果還會問"您是否確定 (Y/N)?"該如何下命令呢? 依照您的寫法程式換成了 p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c echo y| cacls e:\\temp /g aaa:F"; 但仍在IE Response.wirte出現"您是否確定 (Y/N)?" 可是在cmd中下這樣的指令是可以執行的 不知道是何種原因?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-25 11:42:30 IP:220.131.xxx.xxx 未訂閱
往批次檔方式想想,是否有辦法解決你的需求? 先把預先要執行的指令,存成qoo.bat,再用程式呼叫執行..    網海無涯,唯學是岸!
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-25 14:16:57 IP:210.243.xxx.xxx 未訂閱
如qoo版主所說,如果建立批次檔,但如果需要的動態的給定帳號及路徑 請問批次檔可以做得到嗎? 例如 qoo.bat "f1239marklin","aaa"
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-25 14:18:23 IP:210.243.xxx.xxx 未訂閱
如qoo版主所說,如果建立批次檔,但如果需要的動態的給定帳號及路徑 請問批次檔可以做得到嗎? 例如 qoo.bat "目錄","帳號"
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-04-25 14:51:54 IP:220.131.xxx.xxx 未訂閱
Net frameworks 2.0才有的功能.. http://blogs.msdn.com/adarshk/archive/2004/10/06/239014.aspx    網海無涯,唯學是岸! 發表人 - qoo1234 於 2005/04/25 15:08:51
f1239marklin
一般會員


發表:3
回覆:5
積分:1
註冊:2005-04-22

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-04-25 16:40:31 IP:210.243.xxx.xxx 未訂閱
其實因為網站的需求需要用到WebDav的功能,但不希望使用者進入別的資料夾使用,故才會討教這樣的問題! 其實我也明白Framework2才有的功能!不過因為現在就要用!所以只有硬著頭皮try了
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-04-25 17:56:15 IP:220.131.xxx.xxx 未訂閱
我沒玩過WebDav... 參考看看: http://cht.gotdotnet.com/quickstart/aspplus/doc/windowsauth.aspx    網海無涯,唯學是岸! 發表人 - qoo1234 於 2005/04/25 17:58:53
系統時間:2024-04-24 19:49:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!