原文:封装: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命令调用和常用命令的更多相关文章

  1. 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)

    Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...

  2. linux常用命令与系统管理常用命令

    linux命令:切换用户:开启ftp服务:service vsftpd start 开启ssh服务:service sshd start普通用户切换到超级用户:su rootlogout:(注销)un ...

  3. mysql 中启动服务的命令 、登录命令、退出命令 mysql 的常用命令

    1.cmd 以管理员执行 下面命令 启动服务 :net start mysql57 关闭 服务:net stop mysql57 查看mysql 的版本信息 : mysql -V 指定主机地址登录: ...

  4. 【命令】MongoDB常用命令记录

    如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库 ...

  5. ADB常用命令(adb常用命令)

    基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...

  6. Ubuntu常用命令及git常用命令

    1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...

  7. git常用命令总结 git常用命令总结

    git常用命令总结:https://www.cnblogs.com/jackchensir/p/8306448.html 利用git提交代码 一.首先需要下载git 查看电脑是否安装git,打开终端, ...

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. mysql常用命令大全 mysql常用命令总结

    原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...

随机推荐

  1. ASP.NET Core MVC 502 bad gateway 超时如何处理

    在网页程序运行需要较长时间运行的时候,ASP.NET Core MVC会出现502 bad gateway请求超时情况.一般默认的超时时间都比较短,我们需要在 web.config 中配置一下.其中  ...

  2. 国内不fq安装K8S三: 使用helm安装kubernet-dashboard

    目录 3 使用helm安装kubernet-dashboard 3.1 Helm的安装 3.2 使用Helm部署Nginx Ingress 3.3 使用Helm部署dashboard 3.4 使用He ...

  3. Linux常用指定

    学前理论 linux主要特征 :一切且文件(目录.硬盘等都是文件):硬件都在/dev 目录,如硬盘.U盘为/dev/sd[a-d]: /dev/sr0(/dev/cdrom)是光驱的设备名(df命令查 ...

  4. 跳过__wakeup()魔法函数

    __wakeup():将在序列化之后立即被调用. 漏洞原理:当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行.     参考题目:xctf-unserialize3 h ...

  5. discuz支持的mysql的配置(docker版本)

    作个笔录. conf/discuz.conf [client] port=3306 default-character-set=utf8 [mysqld] port=3306 default-stor ...

  6. VMware遇到的一连串问题

    之前正常运行的VMware,再次打开提示“VMware Workstation pro 无法在 windows 上运行”, 百度一波,原来是微软的更新程序引起的问题,只要将最近的一次更新程序卸载然后重 ...

  7. IComparable和IComparer接口

    C#中,自定义类型,支持比较和排序,需要实现IComparable接口.IComparable接口存在一个名为CompareTo()的方法,接收类型为object的参数表示被比较对象,返回整型值:1表 ...

  8. docker的简单操作和端口映射

    一:简介 Docker镜像 在Docker中容器是基于镜像启动的 镜像是启动容器的核心 镜像采用分层设计,最顶层为读写层 使用快照COW技术,确保底层不丢失 通过ifconfig(ip  a)来查看d ...

  9. IE和火狐的事件机制有什么区别

    1.IE的事件流是冒泡流,火狐支持冒泡流和捕获流. 2.阻止事件冒泡:IE---e.cancelBubble = true;    火狐---e.stopPropagation();

  10. OI蒟蒻收集的各种网址集合(无标记

    本地收藏夹伤不起…… https://zh.wikipedia.org/wiki/Template:%E7%AE%97%E6%B3%95 https://courses.csail.mit.edu/6 ...