Запустить командные окна и запустить команды внутри

Мне нужно запустить командное окно с некоторыми аргументами и выполнить больше команд внутри.

Например, запустить test.cmd и запустить mkdir.

Я могу запустить test.cmd с помощью processstartinfo, но я не уверен, как выполнять дальнейшие команды. Могу ли я передать дополнительные аргументы процессу test.cmd?

Как мне поступить?

Невозможно добавить комментарии для ответа ... ТАК, пишу здесь.

Андреа, это то, что я искал , Однако приведенный выше код не работает для меня.

Я запускаю test.cmd, который представляет собой новую командную среду (например, среду сборки razzle), и мне нужно выполнить дополнительные команды.

psi.FileName = @"c:\test.cmd";
psi.Arguments = @"arg0 arg1 arg2";

psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.UseShellExecute = false;

Process p = new Process();
p.StartInfo = psi;
p.Start();
p.StandardInput.WriteLine(@"dir>c:\results.txt");
p.StandardInput.WriteLine(@"dir>c:\results2.txt"); 
11
задан tshepang 4 March 2014 в 22:37
поделиться

1 ответ

Чего вы пытаетесь достичь? Вам действительно нужно открыть командное окно или, например, вам нужно просто создать каталог?

mkdir — это исполняемый файл Windows — вы можете запустить эту программу так же, как запускаете cmd — нет необходимости сначала запускать процесс командного окна.

Вы также можете создать пакетный файл, содержащий все команды, которые вы хотите запустить, а затем просто запустить его, используя классы Process и ProcessStartInfo, которые вы уже используете.

0
ответ дан 3 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: