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

代码部分

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:显示ipconfig信息

string cmd [email protected]"ipconfig/all";

示例2:打开VS2010命令提示      

string cmd [email protected]"C:&cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC&vcvarsall.bat";

示例3:使用sn.exe工具产生密钥对并显示          

string cmd [email protected]"C:&cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC&vcvarsall.bat&sn -k d:\LicBase.snk&sn -p d:\LicBase.snk d:\LicBasePubKey.snk&sn -tp d:\LicBasePubKey.snk";

调用

string output = "";
CmdHelper.RunCmd(cmd, out output);
MessageBox.Show(output);

C#程序调用cmd.exe执行命令,布布扣,bubuko.com

时间: 2024-10-24 11:17:15

C#程序调用cmd.exe执行命令的相关文章

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

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

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

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

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 =

调用cmd.exe执行pdf的合并(pdftk.exe)

今天调查一个pdf文件的抽取,合并功能,用到下面这个工具(pdftk): https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ 在cmd.exe里执行的很好,但在.net环境下,用程序调用就出问题,调用代码如下: Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.Re

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

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#调用 WinRAR.exe以命令行形式实现文件、文件夹的解压缩

在实际项目应用中会偶尔使用文件的压缩上传以及服务器端的加压处理,故写此文记录以备不时之需. 1.自己编写的ZipHelper类. 1 public static class ZipHelper 2 { 3 private static string pathExe = AppDomain.CurrentDomain.BaseDirectory + @"Resource\WinRAR.exe"; 4 /// <summary> 5 /// 使用Gzip方法压缩文件 6 ///

[转]使用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执行命令(转)

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