使用参数从cmd执行程序

时间:2014-03-16 11:22:39

标签: c# process cmd command-line-arguments

我有一个需要从带有参数的cmd运行的程序,比如名为

的执行文件
  

的Program.exe

我需要使用args从cmd运行它,cmd中的整个命令如下所示:

c:\ram\program.exe /path = c:\program files\NV

您可以看到路径是:" c:\ ram \"

执行文件是:" program.exe"

我需要发送的参数是:/path = c:\program files\NV

我该怎么做?

我尝试打开这样的流程:

string strArguments = @"/path = c:\program files\NV";
Process p = new Process();
p.StartInfo.FileName = "program.exe";
p.StartInfo.WorkingDirectory = "c:\\ram\\";
p.StartInfo.Arguments = strArguments;
p.Start();

它不好,我认为问题可能是我没有从CMD访问exe文件,也许我错了......任何机构都知道我该怎么做?

由于

1 个答案:

答案 0 :(得分:0)

尝试这些事情

p.StartInfo.FileName = "c:\\ram\\program.exe";未设置Working Directory

这个问题更可能是问题的根源

string strArguments = @"/path = ""c:\program files\NV""";

如果路径中有空格,则必须将整个路径括在引号中。完整的代码如下

string strArguments = @"/path=""c:\program files\NV""";
Process p = new Process();
p.StartInfo.FileName = @"c:\ram\program.exe";
p.StartInfo.Arguments = strArguments;
p.Start();

它应该完全按照你要做的做。

  

1.run" cmd.exe"。

     

2.go to this dir:" c:\ ram \" (当然是在cmd)。

     

3.执行文件" program.exe"使用此参数:" / path = c \:program files \ NV"

它接受c:\ ram \文件夹中的program.exe,并使用带有指定参数的cmd执行它。