頁:
[1]
Diagnostics.Process.Start問題
想請問各位我在cmd中可以使用的程式碼
winrar a -m0 E:\test.rar E:\test
為何在vs中沒法使用
System.Diagnostics.Process.Start("winrar a -m0 " + "E:\\test.rar E:\\test");
執行?<div></div> 以7z指令解壓縮檔案為例,底下方式給你參考:
System.Diagnostics.ProcessStartInfo info = new
System.Diagnostics.ProcessStartInfo();
info.FileName = @"C:\Program Files\7-Zip\7z.exe";
info.Arguments = "e c:\\Test.zip -oc:\\Test";
System.Diagnostics.Process.Start(info);
或
System.Diagnostics.Process.Start(@"C:\Program Files\7-Zip\7z.exe", "e c:\\Test.zip -oc:\\Test");
關於Process.Start方法的使用,請參考官方線上文件 (google關鍵字 "Process.Start" 就可以找到)...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> 原因應該是出在PATH環境變數並沒有直接作用在你新生成的Process上,
你要確定winrar這個能不能被找到,要先確認Environment裡面有沒有對應的PATH
比方說
String pathVar= System.Environment.GetEnvironmentVariable("PATH");
Process process=new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.EnvironmentVariable["PATH"]=pathVar;
process.StartInfo.FileName="winrar.exe";
process.StartInfo.Arguments= "a -m0 " + "E:\\test.rar E:\\test";
process.Start();
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁:
[1]