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 ...
随机推荐
- 对于并发任务,应该使用 Task 替代 BackgroundWorker
背景 EF + Oracle,并发存储监控记录,使用 BackgroundWorker 时产生错误如下: public void MonitorLogging(DateTime DateStart, ...
- P3275 [SCOI2011]糖果 题解
一道差分约束的模板题. 题目 题意:n个人每个人至少一个糖果,另外要满足k个不等式,求最少糖果数. 差分约束系统 给定一组不等式 $ x[i]-x[j]<=c[k] $ (或 $ x[i]-x[ ...
- 题解 Luogu P3959 【宝藏】
来一篇不那么慢的状压??? 话说这题根本没有紫题难度吧,数据还那么水 我是不会告诉你我被hack了 一看数据规模,n≤12,果断状压. 然后起点要枚举,就设dp状态: f[i][j]=以i为起点到j状 ...
- 使用ImagesPipeline时候报错为:ModuleNotFoundError: No module named 'scrapy.contrib'
刚开始我是这样写的: 报错为: 哈哈,经过查阅资料,其实他是存在的,接下来修改如下: 经过运行结果如下: 问题解决,哈哈哈,搞定!!!!!!!!!!!!
- 17.Python略有小成(包,logging模块)
Python(包,logging模块) 一.包 什么是包 官网解释 : 包是一种通过使用'.模块名'来组织python模块名称空间的方式 , 具体来讲 , 包就是一个包含有__ init __.py文 ...
- Codeblocks中文乱码解决方法。
如需安装包请后台留言!! Codeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: ...
- docker(一): 安装
开始 docker是一个可以帮助开发者使用容器(containers)开发.部署和运行应用程序的平台.llinux下使用容器部署系统称为containerization. container 是映像( ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Vasya and Shifts CodeForces - 832E (高斯消元)
大意: 给定$4n$个$m$位的五进制数, $q$个询问, 每个询问给出一个$m$位的五进制数$b$, 求有多少种选数方案可以使五进制异或和为$b$. 高斯消元入门题 每次询问相当于就是给定了$m$个 ...
- C#混音同时录制采集声卡和麦克风话筒
在项目中,我们可能需要同时录制声卡的声音和麦克风的声音,比如直播间,在线教学.那么如何实现呢?当然是采用SharpCapture!下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步: ...