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 ...
随机推荐
- mysql 按照两个字段之和进行排序
SELECT *,zan_num+fake_zan_num show_zan FROM `tf_news` order by show_zan desc TP实现 $news = M('news'); ...
- 总结IDEA和VS常用实用的快捷键
整理了我一般撸码时使用下面两个IDE最常用到的快捷键: IntelliJ IDEA: 快捷搜索:Ctrl+F (Match Case:区分大小写,Words:全字匹配,Regex:正则匹配) 批量替换 ...
- Spring中的AOP实现思路
AOP是面向切面编程,为什么在切面中写一个注解方法@Before,这个方法会在目标方法前面执行呢 基于JDK动态代理实现上面说的情况 自定义注解 @Target({ ElementType.METHO ...
- 数组中重复的数字(Python)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-08-13 22:35 # @Author : daryl # @File : ...
- eclipse 无法启动,JAVA_HOME 失效
主要是因为JDK和eclipse 版本不兼容导致的,4位jdk配64位eclipse,32位jdk配32位eclipse; Java 设置JAVA_HOME无效 其根本原因是%JAVA_HOME%在p ...
- c# 基于RTMP推流 PC+移动端 拉流播放
网上关于直播相关的文章很多,但是讲解还是不够系统,对于刚刚接触直播开发的朋友实施起来会浪费不少时间.下面结合我自己的经验, 介绍一下直播方面的实战经验. 分成两个部分 第一部分是标题中介绍的基于RTM ...
- python day 9: xlm模块,configparser模块,shutil模块,subprocess模块,logging模块,迭代器与生成器,反射
目录 python day 9 1. xml模块 1.1 初识xml 1.2 遍历xml文档的指定节点 1.3 通过python手工创建xml文档 1.4 创建节点的两种方式 1.5 总结 2. co ...
- React Native 开发豆瓣评分(八)首页开发
首页完成效果展示: 一.开发占位图组件 在没有数据的时候使用占位图替代 items 的位置. 在 components 目录里创建 moviesItemPlaceholder.js import Re ...
- tp5模板中js方法中url函数传参的解决办法
代码如下: layer.msg(data.msg, {icon: 1,time:1500,shade: 0.1}, function(index){ layer.close(index); var s ...
- C++遍历磁盘驱动器
#include <stdio.h> #include <windows.h> typedef struct tagDRIVER { // (1)磁盘盘符 wchar_t di ...