调用cmd方法,用于网盘文件压缩下载
cmd = cmd.Trim().TrimEnd('&') + "&exit";//說(shuō)明:不管命令是否成功均執(zhí)行exit命令,否則當(dāng)調(diào)用ReadToEnd()方法時(shí),會(huì)處于假死狀態(tài)
using (Process p = new Process())
{
p.StartInfo.FileName = CmdPath;
p.StartInfo.UseShellExecute = false; //是否使用操作系統(tǒng)shell啟動(dòng)
p.StartInfo.RedirectStandardInput = true; //接受來(lái)自調(diào)用程序的輸入信息
p.StartInfo.RedirectStandardOutput = true; //由調(diào)用程序獲取輸出信息
p.StartInfo.RedirectStandardError = true; //重定向標(biāo)準(zhǔn)錯(cuò)誤輸出
p.StartInfo.CreateNoWindow = true; //不顯示程序窗口
p.Start();//啟動(dòng)程序
//向cmd窗口寫(xiě)入命令
p.StandardInput.WriteLine(cmd);
p.StandardInput.AutoFlush = true;
//獲取cmd窗口的輸出信息
//output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//等待程序執(zhí)行完退出進(jìn)程 //這里不寫(xiě)會(huì)出現(xiàn)代碼執(zhí)行過(guò)快,導(dǎo)致cmd還沒(méi)有執(zhí)行而報(bào)錯(cuò)
p.Close();
}
文件壓縮:(如果不cd到文件夾下,會(huì)導(dǎo)致壓壓縮全路徑文件。)
var cdPath = @"d:\FileStructure\" + guids;//壓縮前cmd到達(dá)的文件夾位置
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 后臺(tái)運(yùn)行 - df壓縮后刪除源文件 -k 鎖定壓縮文件 -m1 最快 最快速的方法 ( 最低的壓縮比)
轉(zhuǎn)載于:https://www.cnblogs.com/zhuxueyuan/p/7352463.html
總結(jié)
以上是生活随笔為你收集整理的调用cmd方法,用于网盘文件压缩下载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JSON在JS和JAVA的处理
- 下一篇: securecrt鼠标右键的配置