调用cmd方法,用于网盘文件压缩下载
cmd = cmd.Trim().TrimEnd('&') + "&exit";//說明:不管命令是否成功均執行exit命令,否則當調用ReadToEnd()方法時,會處于假死狀態
using (Process p = new Process())
{
p.StartInfo.FileName = CmdPath;
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(cmd);
p.StandardInput.AutoFlush = true;
//獲取cmd窗口的輸出信息
//output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//等待程序執行完退出進程 //這里不寫會出現代碼執行過快,導致cmd還沒有執行而報錯
p.Close();
}
文件壓縮:(如果不cd到文件夾下,會導致壓壓縮全路徑文件。)
var cdPath = @"d:\FileStructure\" + guids;//壓縮前cmd到達的文件夾位置
var RarexePath = @"D:\Software\WinRAR\Rar.exe";//rar.exe的位置
var finishRarFilePath = @"D:\WWW\Uploads\UploadsRar\" + guids + @".rar";//壓縮完成的文件及文件名
string CmdPath = @"C:\Windows\System32\cmd.exe";//cmd.exe的位置
string cmd = @"cd /d " + cdPath + @" && " + RarexePath + @" a -r -ibck -df -k -m1 " + finishRarFilePath + @" *.* ";//cmd傳的命令
//-r連同子文件夾 -ibck 后臺運行 - df壓縮后刪除源文件 -k 鎖定壓縮文件 -m1 最快 最快速的方法 ( 最低的壓縮比)
轉載于:https://www.cnblogs.com/zhuxueyuan/p/7352463.html
總結
以上是生活随笔為你收集整理的调用cmd方法,用于网盘文件压缩下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSON在JS和JAVA的处理
- 下一篇: securecrt鼠标右键的配置