Тут заметил, случайно, если мы попытаемся в своем приложении запустить командную строку с любыми параметрами. То откроется только окошко CMD. Вот сами проверьте
Process.Start("CMD", "ping 1.1.1.1");
Но если мы используем Powershell, то все работает.
Process.Start("Powershell", "ping 1.1.1.1");
Тестировал на разных компьютерах (Windows 7, Windows 10, Windows 2012r2) нигде не работает. Может кто знает в чем дело?
Можно, но вы забыли указать соответствующий ключ для CMD
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] строка]
/C Выполнение указанной команды (строки) с последующим завершением.
/K Выполнение указанной команды (строки) без последующего завершения.
/S Изменение поведения после /C или /K (см. ниже)
/Q Отключение режима вывода команд на экран (ECHO).
/D Отключение выполнения команд AutoRun из реестра (см. ниже)
/A Вывод результатов выполнения команд в формате ANSI.
/U Вывод результатов выполнения команд в формате UNICODE.
/T:fg Выбор цвета переднего плана/фона (более подробно см. COLOR /?)
/E:ON Разрешение расширенной обработки команд (см. ниже)
/E:OFF Запрет расширенной обработки команд (см. ниже)
/F:ON Разрешение символов завершения имен файлов и папок (см. ниже)
/F:OFF Запрет символов завершения имен файлов и папок (см. ниже)
/V:ON Разрешение отложенного расширения переменных среды с применением
символа '!' в качестве разделителя. Например, /V:ON разрешает
использовать !var! в качестве расширения переменной var во время
выполнения. Синтаксис var служит для расширения переменных
при вводе, что приводит к совсем другим результатам внутри
цикла FOR.
/V:OFF Запрет отложенного расширения переменных среды.
Вам нужен один из выделенных ключей, таким образом команда запуска будет выглядеть. например так:
Process.Start("CMD", "/C ping 1.1.1.1");
Можете параметризовать указание ключа чтобы сама команда оставалась одинаковой для любой оболочки консоли.
Параметры в CMD передать можно и вы это делаете. Вопрос только в том какие параметры принимает и как их обрабатывает этот CMD.
Сравните выдачу cmd /?
и powershell /?
и увидите что они умеют.
Иначе, следуя вашей логике, можно написать winword ping 1.1.1.1
и ждать что Word запустит вам ping.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Получаю котировки валют в XMLДата котировки передается в таком формате:
Как сделать выборку из JSON? JSON представляет из себя следующее: