WaitForExit с опцией CMD "/ c" - PullRequest
       1

WaitForExit с опцией CMD "/ c"

0 голосов
/ 02 июля 2018

Я написал код на VB для запуска команды CMD, где выходные данные хранятся в текстовом файле. Эти выходные данные необходимы для программы, поэтому программе необходимо дождаться завершения команды CMD, прежде чем продолжить. Я использую

Dim wait As Process = Process.Start(psi)
wait.WaitForExit()

Чтобы убедиться, что процесс завершается до того, как код продолжается, но теперь, когда я это сделал, опция / c в информации о процессе больше не работает. Информация о процессе выглядит следующим образом:

Dim psi As New ProcessStartInfo With {
    .FileName = "Cmd",
    .Arguments = "/c " & completedCom & " > " & oPath
}

Я не понимаю, почему опция "/ c" неожиданно потерпит неудачу.

1 Ответ

0 голосов
/ 02 июля 2018

Пробелы были бы примером одной проблемы. Используйте кавычки вокруг ваших команд, чтобы помочь с этим:

Dim psi As New ProcessStartInfo With {
    .FileName = "Cmd",
    .Arguments = "/c """ & completedCom & """ > """ & oPath & """"
}

Предпочтительным методом вызовов для обработки будет непосредственный вызов exec, а не запуск cmd. В этом случае вам придется асинхронно захватывать стандартный вывод и записывать его в файл.

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