我有一个需要从带有参数的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文件,也许我错了......任何机构都知道我该怎么做?
由于
答案 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执行它。