Помимо того, что вам не нужно запускать процесс с помощью cmd.exe
(как уже упоминалось в другом ответе), я думаю, вам нужно отделить аргументы командной строки от имени процесса, чтобы начать ; то есть. попробуйте что-то похожее на это:
var command = @"C:\...\test.exe";
var arguments = @"D:\abc.pdf ...";
var processInfo = new ProcessStartInfo(command, arguments)
{
CreateNoWindow = true,
... // add other options as needed
};
var p = Process.Start(processInfo);
Как видите, имя исполняемого файла и аргументы командной строки перенесены в отдельные параметры конструктора ProcessStartInfo
. (Вам, очевидно, нужно поместить туда правильные строки; для ясности я их сократил.)