C # процесс отменяется после Process.Start () - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь запустить команды командной строки из кода C #.

После выполнения шага Process.Start() в окне консоли отображается

Произошла системная ошибка 1223. Операция была отменена пользователь.

Ошибка:

System Error 1223

Но, как вы видите, я не отменяю операцию.

Мой код:

            Process process = new Process();

            process.StartInfo.FileName = "cmd.exe";
            process.StartInfo.Arguments = $"/C NET USE {driveChar}: {URL}";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;

            process.Start(); // After this step, console window shows the above error

            StreamWriter streamWriter = process.StandardInput;

            streamWriter.WriteLine(username);

            ...
            ...

            // remaining code

Что не так? Любые идеи по устранению этой ошибки?

EDIT:

На самом деле мне не нужно перенаправлять стандартный вывод, поэтому я изменил свой код, чтобы перенаправить только стандартный ввод. Но я все еще получаю ту же ошибку.

1 Ответ

1 голос
/ 14 мая 2019

Это будет работать ... Я использую ключ / K, так как я не хочу завершать CMD-экран и хочу видеть результат .. Используйте / C, если вам нужно автоматическое завершение

     string strCmdText;
     strCmdText = @"/K NET USE z: \\server\SharedFolderName";
     System.Diagnostics.Process.Start("CMD.exe", strCmdText);

========== Результат ============================

enter image description here

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