1

.NETWindowsアプリケーションからコマンドラインを実行する必要があります。

このコードで試しましたが、エラーが発生しました:

'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);
4

2 に答える 2

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);
于 2010-05-11T18:53:55.930 に答える
6

オーバーロードされたバージョンのProcess.Startを使用して、2番目の引数にパラメーターを渡します。

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);

これは、PDFファイルをパラメーターとしてtest.exeを呼び出そうとしていることを前提としています。

于 2010-05-11T18:58:48.480 に答える