正在将参数发送到命令行

本文关键字:命令行 参数 | 更新日期: 2023-09-27 18:25:46

我需要用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:'");