Как мне выполнить cmd в C #, затем в том же окне выполнить другую команду, которая следует? - PullRequest
4 голосов
/ 02 апреля 2010

Право, что я пытаюсь сделать, - это программа, которая в основном устанавливает активный раздел в 1 клик, экономя время и навыки использования подсказки cmd и т. Д.

Я изучил пространство имен System.Management, но не смог понять, как его использовать: (

Итак, я прибег к использованию CMD, у меня есть модульное приложение, написанное на C #, и я хочу запустить «DISKPART», который затем запускает diskpart в окне cmd, затем я хочу попросить его «Выбрать диск 0 за ним следует «выберите раздел 1», за которым следует «активный».

Выполнение этого в CMD само по себе работает нормально, но с приложением оно оказалось неудобным :( Что мне удалось сделать, так это запустить DiskPart нормально в одном окне с Process.Start, затем заставить его открыть новое окно и запустить следующий фрагмент кода, но из-за того, что новое окно не выполнило команду diskpart cmd, оно не работает> :(

Есть предложения?

Спасибо!

Ash

Ответы [ 4 ]

3 голосов
/ 02 апреля 2010

После некоторых поисков, я думаю, вы можете делать что хотите с файлом скрипта. Прочитайте это .

Таким образом, вы можете запустить diskpart /s script.txt с Process.Start после создания файла script.txt с необходимыми вам командами.

3 голосов
/ 02 апреля 2010

Пока вы не принимаете решения о выводе, вы можете создать пакетный файл в своем приложении C # и запустить его с помощью Process.Start(...).

Вам нужно будет сгенерировать два файла.

Первый runDiskPart.bat :

diskpart /s myScript.dp

Второй myScript.dp :

...some commands...
exit

Очевидно, что имена совершенно произвольны, но директива /s должна ссылаться на имя вашего второго файла.

0 голосов
/ 02 апреля 2010

Что вы действительно хотите сделать, так это дождаться завершения программы и перейти к следующему вызову. Взгляните на этот вопрос .

0 голосов
/ 02 апреля 2010

А как насчет введения задержки, такой как Thread.Sleep (1000), чтобы другой процесс успел выполнить первую команду?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...