Статья Как выполнить команду в cmd средствами языка C#

P

Pirnazar

Happy New Year
18.07.2018
186
207
Как выполнить команду в cmd

В качестве примера рассмотрим выполнение команды ping.

Для того чтобы выполнить нашу команду потребуется запустить обработчик (интерпретатор) командных строк cmd.

Обычно это делается так:

1. Нажать на кнопку Пуск, если у Вас Windows Xp или на значок Windows, если у Вас семерка.

Как выполнить команду в cmd средствами языка C#


2. В поле, где сейчас написано Найти программы и файлы» ввести cmd и нажать Enter

Как выполнить команду в cmd средствами языка C#


3. Откроется окно обработчика, в котором нужно ввести команду (ping) и её аргументы (127.0.0.1) для выполнения и нажать Enter

Как выполнить команду в cmd средствами языка C#


4. Результат после выполнения команды

Как выполнить команду в cmd средствами языка C#


Всё это так же можно выполнить и программным путем.

Для начало потребуется подключить пространство имён
C#:
using System.Diagnostics;
Код для выполнения:
C#:
ProcessStartInfo psi = new ProcessStartInfo();
//Имя запускаемого приложения
psi.FileName = "cmd";
//команда, которую надо выполнить
psi.Arguments = @"/k ping 127.0.0.1";
//  /c - после выполнения команды консоль закроется
//  /к - не закрывать консоль после выполнения команды
Process.Start(psi);
В результате Вы увидите всё то же самое, что и на последней картинке выше.
Класс ProcessStartInfo имеет перегруженный конструктор, в который сразу же можно передать имя запускаемого приложения и аргументы.
C#:
ProcessStartInfo psi;
psi = new ProcessStartInfo("cmd", @"/k ping 127.0.0.1");
Process.Start(psi);
Для запуска приложений может потребоваться указание полного пути к файлу запуска, например: запуск браузера opera.
C#:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files\Opera\opera.exe";
Process.Start(psi);
 
The Codeby

The Codeby

ООО Кодебай
30.12.2015
3 248
4 658
МАКСИМ
19.10.2015 в 23:01
Спасибо! Отличный пример простого и действующего кода.

КОНДОР_007
20.10.2015 в 16:58
Премного благодарен. Направление подсказали, подробности уж докопаю)

ЯЙЦО
22.10.2015 в 15:43
Спасибо большое! Один из немногих сайтов, где все очень просто и понятно написано!

NASTYA
23.10.2015 в 09:12
подскажите пожалуйста, а если команда сложная и имеет в своей структуре двойные кавычки как быть тогда?
Пример:
Код:
psi.Arguments = @"/k pspsexec %1 -i 0
"c:Program FilesRadminr_server" /stop del
"%1c$Program FilesRadmin" /f /q";
ADMIN
23.10.2015 в 21:53
Перед каждой двойной кавычкой нужно поставить ещё одну двойную кавычку, например:
Код:
psi.Arguments = @"/k pspsexec %1 -i 0
""c:Program FilesRadminr_server"" /stop del
""%1c$Program FilesRadmin"" /f /q";
Если бы собаки (@) не было, то тогда простое экранирование использовалось бы

"c:Program FilesRadminr_server"

NASTYA
24.10.2015 в 20:45
Спасибо большое! Очень помогли!

GREEN IREEN
03.03.2017 в 07:33
Это именно то, что я искал.))
На мой взгляд (ленивого криворукого программиста) очень лаконичное и просто решение.
А, главное, все понятно.))
Огромное спасибо!
 
Мы в соцсетях: