Передача аргументов в cmd.exe - PullRequest
0 голосов
/ 05 октября 2018

Я знаю, что есть несколько постов о передаче аргументов программе, но я не смог решить мою проблему.

Я пытаюсь передать некоторые аргументы программе из моего кода на c #.

При добавлении аргументов /c < input.txt | program2 > output.txt я получаю System.InvalidOperationException.

Если аргументы не переданы, код работает нормально и запускается program1.

Я не смогчтобы понять, как правильно объяснить мои аргументы.

Возможно, использование <, >, | и тот факт, что среди аргументов есть вторая программа, доставляет мне неприятности?

Это прекрасно работает в cmd.

Мой код:

var myProcess = new System.Diagnostics.Process
{
    StartInfo = new System.Diagnostics.ProcessStartInfo
    {
        FileName = "program1",
        Arguments = "/c < input.txt | program2 > output.txt",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        CreateNoWindow = false
    }
};

myProcess.Start();
while (!myProcess.StandardOutput.EndOfStream)
{
    string line = myProcess.StandardOutput.ReadLine();
}
myProcess.WaitForExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...