C#调用cmd执行命令
去发现同类优质开源项目:https://gitcode.com/
简介
本资源提供了一个C#语言的示例代码,演示了如何在C#中调用CMD执行命令,并采用异步回显方式,使得用户可以多次输入命令而不会阻塞程序。
功能特点
- 支持异步回显,提升程序响应性。
- 支持多次输入,不影响程序运行。
注意事项
- 请确保您对C#编程有基本的了解。
- 请在合适的开发环境中测试此代码,以避免潜在的运行错误。
使用方法
1
// 示例代码1
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
// 异步读取输出
cmd.OutputDataReceived += (sender, e) =>
{
Console.WriteLine(e.Data);
};
cmd.BeginOutputReadLine();
// 发送命令
cmd.StandardInput.WriteLine("echo Hello World!");
cmd.StandardInput.WriteLine("exit");
cmd.WaitForExit();
}
}
使用方法2
// 示例代码2
using System;
using System.Threading.Tasks;
using System.Diagnostics;
class Program
{
static async Task Main()
{
using (var process = new Process())
{
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.UseShellExecute = false;
process.Start();
// 异步读取输出
process.OutputDataReceived += (sender, e) =>
{
Console.WriteLine(e.Data);
};
process.BeginOutputReadLine();
// 发送命令
await Task.Run(() =>
{
process.StandardInput.WriteLine("echo Hello World!");
process.StandardInput.WriteLine("echo Second Command");
process.StandardInput.WriteLine("exit");
});
process.WaitForExit();
}
}
}
结束语
本示例代码旨在帮助开发者更好地理解如何在C#中调用CMD执行命令,并且能够灵活处理命令的输入与输出。希望这个资源能够对您的开发工作有所帮助。
去发现同类优质开源项目:https://gitcode.com/
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



