从Windows应用程序执行命令行

aro*_*ron 1 .net c# command-prompt

我需要从.NET Windows应用程序执行命令行.我尝试使用此代码,但我收到错误

"C:\ Documents"未被识别为内部或外部命令,可操作程序或批处理文件.

var command ="\"C:\\Documents and Settings\\Administrator\\My Documents\\test.exe\" \"D:\\abc.pdf\" \"C:\\Documents and Settings\\Administrator\\My Documents\\def.pdf\"";

var processInfo = new ProcessStartInfo("cmd","/c " + command)
{
    UseShellExecute = false,
    RedirectStandardError = true,
    CreateNoWindow = true
};
var p = Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 6

我认为你不需要掏出来cmd.只需直接调用exe:

var command ="\"C:\\Documents and Settings\\Administrator\\My Documents\\test.exe\" \"D:\\abc.pdf\" \"C:\\Documents and Settings\\Administrator\\My Documents\\def.pdf\"";
var processInfo = new ProcessStartInfo(command)
                      {
                          UseShellExecute = false,
                          RedirectStandardError = true,
                          CreateNoWindow = true
                      };
var p = Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)


Phi*_*amb 6

尝试使用Process.Start的重载版本并传递第二个参数中的参数.

var command = @"C:\Documents and Settings\Administrator\My Documents\test.exe";
var parameters = @"""D:\abc.pdf"" ""C:\Documents and Settings\Administrator\My Documents\def.pdf""";

var p = Process.Start(command, parameters);
Run Code Online (Sandbox Code Playgroud)

这假设您尝试使用pdf文件作为参数调用test.exe.