2011-01-26 23 views
2

Мне нужно запустить полную командную строку, например, «app.exe/arg1: 1/arg2: true» из моего приложения C#.Запустите командную строку, включая аргументы из C#

Process.Start и ProcessStartInfo должны иметь свойство filename и arguments. Есть ли способ имитировать настоящий shell-like execute (например, когда вы нажимаете WIN + R)?

+2

Какие недостатки вы находите с использованием 'Process.Start'? – Oded

+1

Как насчет командного файла, запускающего процесс и использующего Process.Start для запуска командного файла? – CodingBarfield

+0

Командная строка поступает из файла конфигурации и предоставляется в целом. Я просто хочу подражать функциональности WIN + R. Я думаю, что даже VBScript имеет способ сделать то, что мне нужно ... –

ответ

4

Да, вы можете запустить cmd.exe с полной командной строкой, которую вы хотите отправить в качестве аргументов.

info.FileName = "cmd.exe"; 
info.Arguments = "app.exe /arg1:1 /arg2:true"; 
+1

Вам, вероятно, понадобится ключ/c, чтобы сообщить cmd.exe выполнить app.exe. –

+0

Я также подумал об этом решении, но мне не нравится, что появляется окно команды. –

Смежные вопросы