封装: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 ...
随机推荐
- MySQL容器化详细教程
前言: 上篇文章介绍了Docker工具的安装及常用命令使用.本篇文章我们会介绍如何在Docker中运行MySQL实例,可能有的小伙伴会问:为什么要在Docker里运行MySQL呢?因为在Docker ...
- django rest_framework vue 实现用户登录
django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考 django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...
- Redis_数据类型
Redis支持的键值数据类型如下: 字符串类型 散列类型 列表类型 集合类型 有序集合类型 一.字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.一个字 ...
- 十九、Python之socket编程
socket(套接字)就是建立连接,发送,接收.大部分网络协议都是建立在socket之上的,例如:http,ftp,smtp等等 socket用于描述IP地址和端口,是一个通信链的句柄.应用程 ...
- Listary 文件操作神器
文档简介 Listary 官方文档(中文版):https://zhuanlan.zhihu.com/p/24897629 视频介绍:https://v.youku.com/v_show/id_XNTY ...
- 目标检测论文解读12——RetinaNet
引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- 《Pro Continuous Delivery With Jenkins 2.0》随书笔记
今天同时看完<Pro Continuous Delivery With Jenkins 2.0>, 这书与工作关系很大,但也是快速翻翻. 本书着重点jenkins高可用环境搭建,与gith ...
- HashMap、HashTable 区别
区别项 HashMap HashTable 继承和实现 public class HashMap<K,V> extends AbstractMap<K,V> implement ...
- vs2008 新建win32控制台程序提示:脚本错误
解决方案: 1.根据错误信息中的url,找到对应文件夹下的htm文件 2.使用notepad++打开default.htm文件,找到错误提示的434行,注释掉433和434行 然后保存文件,重新新建w ...