C#执行命令行 和 bat文件

1.命令行直接执行:

复制代码
private bool runCmd(string cmd)
        {
            var output = string.Empty;
            var p = new Process();
            p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.OutputDataReceived += (sender, args) => { output += args.Data; };
            p.StartInfo.FileName = Path.Combine(Environment.GetFolderPath(Environment.Is64BitProcess ? Environment.SpecialFolder.System : Environment.SpecialFolder.SystemX86), "cmd.exe");
            p.StartInfo.Arguments = @"/C " + cmd;
            p.StartInfo.Arguments += "&&echo 1";
            p.StartInfo.Verb = "runas";
            p.Start();
            p.StandardInput.AutoFlush = true;
            p.BeginErrorReadLine();
            p.BeginOutputReadLine();
            p.WaitForExit();

            var resultCode = 0;
            if (int.TryParse(output, out resultCode))
            {
                if (resultCode == 1)
                    return true;
            }

            return false;
        }
复制代码

2. 执行 bat 文件

bat 文件:

EXIT 10

timeout /t 100

C#

var path = Application.StartupPath + @"\test.bat";
            var p = new Process();
            p.StartInfo.WorkingDirectory = Application.StartupPath;
            p.StartInfo.FileName = path;
            p.Start();
            p.WaitForExit();
            var a = p.ExitCode;
                

 

posted on   空明流光  阅读(2451)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-11-05 linux 进程间共享内存示例
2017-11-05 C# EasyHook MessageBox 示例(极简而全)
2013-11-05 webbrowser在不同的.netframework版本差异

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示