C调用cmd执行命令

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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值