【发布时间】:2019-09-30 19:46:27
【问题描述】:
我正在尝试从 C# 代码运行命令提示符命令。
Process.Start() 步骤执行后,控制台窗口显示
出现系统错误 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
出了什么问题?有关解决此错误的任何想法?
编辑:
我实际上不需要重定向标准输出,所以我修改了我的代码,只重定向标准输入。但我仍然遇到同样的错误。
【问题讨论】:
-
如果你想同时重定向标准输入和输出,你必须read at least one asynchronously 否则你会死锁。
-
@DourHighArch 我实际上不需要重定向标准输出,所以我修改了我的代码只重定向标准输入。但我仍然遇到同样的错误。
标签: c# .net windows cmd process