首页 新闻 搜索 专区 学院

解压问失败,之前一直可以,突然不行了

0
悬赏园豆:30 [已解决问题] 解决于 2019-04-02 11:21

/// <summary>
/// 利用 WinRAR 进行解压缩
/// </summary>
/// <param name="path">文件解压路径(绝对)</param>
/// <param name="rarPath">将要解压缩的 .rar 文件的存放目录(绝对路径)</param>
/// <param name="rarName">将要解压缩的 .rar 文件名(包括后缀)</param>
/// <returns>true 或 false。解压缩成功返回 true,反之,false。</returns>
public static bool UnRAR(string path, string rarPath, string rarName)
{
bool flag = false;
string rarexe;
RegistryKey regkey;
Object regvalue;
string cmd;
ProcessStartInfo startinfo;
Process process;
try
{
regkey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
regvalue = regkey.GetValue("");
rarexe = regvalue.ToString();
regkey.Close();
// rarexe = rarexe.Substring(1, rarexe.Length - 7);
Directory.CreateDirectory(path.Trim());
//解压缩命令,相当于在要压缩文件(rarName)上点右键 ->WinRAR->解压到当前文件夹
cmd = string.Format("x {0} {1} -y", rarName, path);
startinfo = new ProcessStartInfo();
startinfo.FileName = rarexe;
startinfo.Arguments = cmd;
startinfo.WindowStyle = ProcessWindowStyle.Hidden;
startinfo.WorkingDirectory = rarPath;
process = new Process();
process.StartInfo = startinfo;
process.Start();
process.WaitForExit();
if (process.HasExited)
{
if (process.ExitCode == 0)
{
flag = true;
}

            }
            process.Close();
        }
        catch (Exception e)
        {
            throw e;
        }
        return flag;
    }
ll...ll的主页 ll...ll | 菜鸟二级 | 园豆:364
提问于:2019-04-02 10:18
< >
分享
最佳答案
0

解压缩的路径中包含了空格

ll...ll | 菜鸟二级 |园豆:364 | 2019-04-02 11:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册