我需要用7zip的命令行版本解压缩文件。这个一行代码可以完成任务:
Process.Start("cmd", @"C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\");
我正在指定 7zip 命令行可执行文件的路径,并告诉它要解压缩哪个文件。如果我将这些参数复制并粘贴到命令行窗口中,它会起作用。但在 C# 中,它会打开一个命令行窗口,然后什么都不会发生。这是怎么回事呢?
我需要用7zip的命令行版本解压缩文件。这个一行代码可以完成任务:
Process.Start("cmd", @"C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\");
我正在指定 7zip 命令行可执行文件的路径,并告诉它要解压缩哪个文件。如果我将这些参数复制并粘贴到命令行窗口中,它会起作用。但在 C# 中,它会打开一个命令行窗口,然后什么都不会发生。这是怎么回事呢?
尝试:
Process.Start("cmd", @"/c C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\");
这是因为您正在运行cmd.exe,而不是直接运行7za。您可以选择以下两种方式:
Process.Start(@"C:\users\...\7za", "e c:\updated.zip -oc:\");
或者
Process.Start("cmd", @"/c c:\users\...\7za e c:\updated.zip -oc:\");
/c标志告诉cmd在启动后运行参数。
尝试
Process.Start(@"C:\Users\cw\Downloads\7za920\7za.exe", @"e C:\UPDATED.zip -oc:\");