C#程序调用cmd.exe执行其他exe进程(并且含多个参数),并把进程结果返回给字符串

1.关键代码部分。

using System.Diagnostics;

public class CmdHelper

    {

        private static string CmdPath = @"C:\Windows\System32\cmd.exe";

        /// <summary>

        /// 执行cmd命令

        /// 多命令请使用批处理命令连接符:

        /// <![CDATA[

        /// &:同时执行两个命令

        /// |:将上一个命令的输出,作为下一个命令的输入

        /// &&:当&&前的命令成功时,才执行&&后的命令

        /// ||:当||前的命令失败时,才执行||后的命令]]>

        /// 其他请百度

        /// </summary>

        /// <param name="cmd"></param>

        /// <param name="output"></param>

        public static void RunCmd(string cmd, out string output)

        {

            cmd = cmd.Trim().TrimEnd(‘&‘) + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态

            using (Process p = new Process())

            {

                p.StartInfo.FileName = CmdPath;

                p.StartInfo.UseShellExecute = false;        //是否使用操作系统shell启动

                p.StartInfo.RedirectStandardInput = true;   //接受来自调用程序的输入信息

                p.StartInfo.RedirectStandardOutput = true//由调用程序获取输出信息

                p.StartInfo.RedirectStandardError = true;   //重定向标准错误输出

                p.StartInfo.CreateNoWindow = true;          //不显示程序窗口

                p.Start();//启动程序

                //向cmd窗口写入命令

                p.StandardInput.WriteLine(cmd);

                p.StandardInput.AutoFlush = true;

                //获取cmd窗口的输出信息

                output = p.StandardOutput.ReadToEnd();

                p.WaitForExit();//等待程序执行完退出进程

                p.Close();

            }

        }

    }

使用示例

1:显示a.txt文件的MD5校验值给字符串

string cmd =@"fciv.exe -add a.txt";

 
时间: 2024-11-05 11:45:47

C#程序调用cmd.exe执行其他exe进程(并且含多个参数),并把进程结果返回给字符串的相关文章

C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Windows\System32\cmd.exe"; /// <summary> /// 执行cmd命令 /// 多命令请使用批处理命令连接符: /// <![CDATA[ /// &:同时执行两个命令 /// |:将上一个命令的输出,作为下一个命令的输入 /// &&

C#程序调用CMD执行命令

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机.总之,它非常有用.打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车.它也可以执行BAT文件. 下面介绍使用C#程序调用cmd执行命令: 代码: 1 using System; 2 using System.Coll

c# 调用CMD窗口执行命令

1.c# 调用CMD窗体执行命令 阻塞执行, 并在最后执行完后一次性输出执行结果 public static string RunCmd(string cmd) { //string strInput = Console.ReadLine(); Process p = new Process(); //设置要启动的应用程序 p.StartInfo.FileName = "cmd.exe"; //是否使用操作系统shell启动 p.StartInfo.UseShellExecute =

[转]使用C#调用cmd来执行sql脚本

本文转自:https://blog.csdn.net/tvmerp/article/details/1822669 下面是使用C#调用cmd来执行osql实现脚本的执行. using System; using System.Data; using System.Collections; using System.Xml; using System.IO; using System.Text; using System.Diagnostics; namespace ZZ { public cla

【转】C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper     {         private static string CmdPath = @"C:\Windows\System32\cmd.exe";         /// <summary>         /// 执行cmd命令         /// 多命令请使用批处理命令连接符:         /// <![CDATA[         ///

C#程序调用cmd执行命令(转)

C#通过程序来调用cmd命令的操作 string str = Console.ReadLine(); System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true

java打开本地应用程序(调用cmd)

有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序.例如: package cn.xm.exam.test; import java.io.IOException; import org.junit.Test; public class TestCmd { @Test public void test1() throws IOException { // 直接打开应用程序 Runtime.getRuntime().exec("C:/Us

C#程序调用cmd执行命令-MySql备份还原

1.简单实例 //备份还原mysql public static void TestOne() { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.

C#程序调用CMD执行命令方法

先将adb.exe环境加入系统环境变量 { Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; //process.StartInfo.Arguments = "adb deviecs"; process.StartInfo.WorkingDirectory = "C:/Users/Administrator"; process.StartInfo.Us