封装:Cmd命令调用和常用命令
一、Cmd命令调用方法
1、静态方法调用
class Program
{
static void Main(string[] args)
{
// Todo :打开记事本
Process.Start("notepad");
// Todo :打开路径
Process.Start(@"E:\test");
// Todo :打开文件
Process.Start(@"E:\test\test.txt");
Console.Read();
}
}
2、封装调用
/// <summary> 执行DOS命令的扩展方法 </summary>
public static class CmdAPI
{
/// <summary> 运行DOS命令 DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID </summary>
public static string RunCmdOutPut(this string command, EventHandler endEvent = null)
{
// 啟動一個獨立進程
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c " + command;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
if (endEvent != null)
{
p.EnableRaisingEvents = true;
p.Exited += endEvent;
}
// Todo 2016-11-19 :從輸出流取得命令執行結果
p.Start();
// Todo :不过要记得加上Exit要不然下一行程式执行的时候会当机
p.StandardInput.WriteLine("exit");
// 從輸出流取得命令執行結果
return p.StandardOutput.ReadToEnd();
Process.Start("notepad");
}
/// <summary> 运行DOS命令 DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID </summary>
public static void RunCmd(string command, EventHandler endEvent = null)
{
// 啟動一個獨立進程
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c " + command;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = false;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.RedirectStandardError = false;
p.StartInfo.CreateNoWindow = false;
if (endEvent != null)
{
p.EnableRaisingEvents = true;
p.Exited += endEvent;
}
p.Start();
}
/// <summary> 关掉进程 P1 进程的PID </summary>
[Obsolete("未测试")]
public static string CloseProcessByPid(this string pid)
{
return string.Format(CmdStr.CloseProcessByPid, pid).RunCmdOutPut();
}
/// <summary> 执行eclipse程序 </summary>
public static string CmdEclipseByData(this string dataFullPath)
{
return string.Format(CmdStr.CmdEclipseRun, dataFullPath).RunCmdOutPut();
}
}
二、常用的Cmd命令
class CmdStr
{
/// <summary> DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID </summary>
public const string CloseProcessByPid = "ntsd -c q -p {0}";
/// <summary> D调用eclipse(eclrun eclipse) </summary>
public const string CmdEclipseRun = "eclrun eclipse {0}";
/// <summary> 查看本机网卡配置信息 "/c ipconfig /all" </summary>
public const string CmdIpConfigerAll = "/c ipconfig /all";
/// <summary> 定时关机 string.Format("/c shutdown -s -t {0}", shijian) </summary>
public const string CmdShutDown = "/c shutdown -s -t {0}";
/// <summary> 取消定时关机 "/c shutdown -a" </summary>
public const string CmdClearShutDown = "/c shutdown -a";
/// <summary> 解析域名ip地址 "/c ping {0}" </summary>
public const string CmdPing= "/c ping {0}";
/// <summary> 显示所有连接和侦听端口 "/c netstat -an" </summary>
public const string CmdNetStat = "/c netstat -an";
/// <summary> 显示路由表内容 "/c netstat -r" </summary>
public const string CmdNetStat_R = "/c netstat -r";
/// <summary> 查询本机系统 "/c winver" </summary>
public const string CmdWinver = "/c winver";
/// <summary> IP地址侦测器 "/c Nslookup" </summary>
public const string CmdNslookup = "/c Nslookup";
/// <summary> 打开磁盘清理工具 "/c cleanmgr" </summary>
public const string CmdCleanmgr = "/c cleanmgr";
/// <summary> 打开系统的注册表 "/c regedit" </summary>
public const string CmdRegedit = "/c regedit";
}
封装:Cmd命令调用和常用命令的更多相关文章
- 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)
Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...
- linux常用命令与系统管理常用命令
linux命令:切换用户:开启ftp服务:service vsftpd start 开启ssh服务:service sshd start普通用户切换到超级用户:su rootlogout:(注销)un ...
- mysql 中启动服务的命令 、登录命令、退出命令 mysql 的常用命令
1.cmd 以管理员执行 下面命令 启动服务 :net start mysql57 关闭 服务:net stop mysql57 查看mysql 的版本信息 : mysql -V 指定主机地址登录: ...
- 【命令】MongoDB常用命令记录
如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库 ...
- ADB常用命令(adb常用命令)
基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...
- Ubuntu常用命令及git常用命令
1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...
- git常用命令总结 git常用命令总结
git常用命令总结:https://www.cnblogs.com/jackchensir/p/8306448.html 利用git提交代码 一.首先需要下载git 查看电脑是否安装git,打开终端, ...
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- mysql常用命令大全 mysql常用命令总结
原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...
随机推荐
- dos2unix的使用
由于在DOS(windows系统)下,文本文件的换行符为CRLF,而在Linux下换行符为LF,使用git进行代码管理时,git会自动进行CRLF和LF之间的转换,这个我们不用操心.而有时候,我们需要 ...
- The 2016 ACM-ICPC Asia China-Final L World Cup(深搜+回溯 暴力求解)
题目分析: 对于A,B,C,D四支队伍,两两之间进行一场比赛,获胜得3分,平局得1分,失败不得分,现在对给出的四个队伍的得分,判断能否满足得到这种分数,且方案唯一输出yes,不唯一输出no,不可能则输 ...
- Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition
Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition 摘要 基于骨架的动作识别因为 ...
- Android开发:为什么你的学习效率如此低,为什么你很迷茫?
一天一天的过的真的是太快了,常常感到时间在前进,而我们还在停滞不前,看似每天努力的工作学习着,仔细想想其实又会发现,一天下来我们好像还真的什么都没干,看似忙碌的一天,我们把时间都用在哪了?学习!可是为 ...
- 嵌入式linux开发uboot启动内核的机制(二)
一.嵌入式系统的分区 嵌入式系统部署在Flash设备上时,对于不同SoC和Flash设备,bootloader.kernel.rootfs的分区是不同的.三星S5PV210规定启动设备的分区方案如下: ...
- win10 任务栏上的工具栏,重启消失的解决方法
首先谈下 <任务栏的工具栏> 对于很多人来言,还是有可取性的 任务栏的工具栏对编程者的作用 一般来说,我们会经常查看某些API文档,虽然现在是联网也很方便,但如果都下载下来,整理到一个文件 ...
- flask实战-个人博客-编写博客前台
编写博客前台 博客前台需要开放给所有用户,这里包括显示文章列表.博客信息.文章内容和评论等功能功能. 分页显示文章列表 为了在主页显示文章列表,我们要先在渲染主页模板的index视图的数据库中获取所有 ...
- 使用log4Net输出调试信息
在上一篇搭建服务器端的项目基础上,使用log4Net进行调试信息输出 http://www.cnblogs.com/fzxiaoyi/p/8439769.html 1.先分析下Photo 自带的服务器 ...
- Git 游离的HEAD detached HEAD git reflog 查看所有提交的 id
- 小学四则运算口算练习app---No.4
今天主要是改了出题页中各个组件的位置以及时间的接收还有时间控制,代码如下:(但是存在一个问题 设置页面点击确定按钮进入出题界面时有时会闪退,未解决!) CalculatorActivity.clas ...