首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在c#中获取执行命令窗口

如何在c#中获取执行命令窗口
EN

Stack Overflow用户
提问于 2020-07-01 05:17:27
回答 2查看 81关注 0票数 1

我从我的C#应用程序中执行一个命令。

它运行得很好,但有时我会出错。

我的问题是,我看不到命令窗口中的错误或任何其他文本。

只是空白而已。

有什么方法可以使文本显示在执行时间与这里出现的相同吗?

这是我的代码:

代码语言:javascript
运行
复制
        var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
        //processInfo.CreateNoWindow = true;
        processInfo.UseShellExecute = false;
        processInfo.RedirectStandardError = true;
        processInfo.RedirectStandardOutput = true;
        processInfo.WorkingDirectory = workingFolder;

        var process = Process.Start(processInfo);

        process.OutputDataReceived += (object sender, DataReceivedEventArgs e) => 
        Console.WriteLine("output>>" + e.Data);//MessageBox.Show(e.Data);
        
        process.BeginOutputReadLine();

        process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) => 
        Console.WriteLine("error>>" + e.Data);//MessageBox.Show(e.Data);
        process.BeginErrorReadLine();

        process.WaitForExit();

        Console.WriteLine("ExitCode: {0}", process.ExitCode);
        process.Close();
EN

回答 2

Stack Overflow用户

发布于 2020-07-01 05:21:28

我不是这方面的专家,但我认为您可以在try-catch块中编写这段代码,并使用Console.WriteLine()命令在屏幕上显示异常消息。

票数 1
EN

Stack Overflow用户

发布于 2020-07-01 06:17:46

在第一个屏幕截图中,Select位于cmd窗口的标题栏中。

你知道这个程序被暂停的事实吗?

如果您在窗口中单击并可以通过按下Select (如果我没有记错的话)继续操作,则会发生Enter

如果您使用Console.WriteLine(),并且没有暂停cmd窗口,那么您应该可以看到您曾经写过什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62670162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档