C#启动一些cmd命令,但其他命令没有
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#启动一些cmd命令,但其他命令没有相关的知识,希望对你有一定的参考价值。
我的Windows窗体应用触发了一个事件:
using System.Diagnostics;
string strCmdText = "'/C ping server1.example.com > C:\Users\myusername\Desktop\1\a.txt";
Process.Start("cmd.exe", strCmdText);
执行时,cmd.exe正在生成,运行一段时间,输出不会显示,但它出现在重定向的1.txt文件中。
但是,我需要运行查询命令:
using System.Diagnostics;
string strCmdText = "'/C query user /server:server1.example.com > C:\Users\myusername\Desktop\1\a.txt";
Process.Start("cmd.exe", strCmdText);
执行时,它会生成一个cmd.exe但只持续1秒钟,然后它就会消失,并且输出不会出现在1.txt文件中。
是否有任何方法可以查看查询命令在消失之前执行的操作,例如在执行时保持打开状态?也许是有趣的东西。或者,我做错了什么?也许我需要运行命令呢?
答案
这条路:
string outputProcess = "";
string errorProcess = "";
using (Process process = new Process())
{
process.StartInfo.FileName = yourPath;
process.StartInfo.Arguments = yourArguments;
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
outputProcess = process.StandardOutput.ReadToEnd();
errorProcess = process.StandardError.ReadToEnd();
process.WaitForExit();
}
另一答案
如果你真的想要运行你的代码。只需将“CMD”替换为“CMD / k”
以上是关于C#启动一些cmd命令,但其他命令没有的主要内容,如果未能解决你的问题,请参考以下文章