伊莉討論區
標題:
Diagnostics.Process.Start問題
[打印本頁]
作者:
cm101115
時間:
2017-12-22 12:49 AM
標題:
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");
執行?
作者:
sggleeee
時間:
2017-12-22 03:03 AM
以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" 就可以找到)
作者:
sunneo
時間:
2018-1-21 03:21 AM
原因應該是出在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();
歡迎光臨 伊莉討論區 (http://www16.eyny.com/)
Powered by Discuz!