闲来没事,学习了一下c#,之前从来没有使用它,只知道他好像跟java是对立的,有很多的东西与java的理念比较接近。
今天要解决的一个问题是,如何使用C#去调用windows平台上的cmd来执行一些命令行。
说到执行命令行,必须要使用的就是Process类,它是一个非常有用的类,它十分方便的利用第三方的程序扩展了C#的功能。
以下是可以执行的代码,在vs2005上试验通过,实现的是获得router的mac地址。
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Net;
using System.IO;
using System.IO.Compression;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.Threading;
using System.Runtime.InteropServices;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//实例化process对象
System.Diagnostics.Process p = new System.Diagnostics.Process();
//要执行的程序名称,cmd
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
//可能接受来自调用程序的输入信息
p.StartInfo.RedirectStandardInput = true;
//由调用程序获取输出信息
p.StartInfo.RedirectStandardOutput = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
p.Start();//启动程序
//向CMD窗口发送输入信息:
p.StandardInput.WriteLine("arp -a");
//不过不要忘记加上Exit,不然程序会异常退出
p.StandardInput.WriteLine("exit");
//获取CMD窗口的输出信息:
string sOutput = p.StandardOutput.ReadToEnd();
//使用正则再过滤一下,获得mac地址
String mac = "";
// 定义一个Regex对象实例,存储mac的正则
Regex r = new Regex("([a-z0-9]{2}-){5}[a-z0-9]{2}");
MatchCollection mc = r.Matches(sOutput);
//在输入字符串中找到所有匹配
for (int i = 0; i < mc.Count; i++)
{
mac = mc[i].Value; //将匹配的字符串添在字符串数组中
}
Console.WriteLine(mac);
}
}
}
分享到:
相关推荐
C#调用CMD命令学习,动态读取CMD信息,并动态显示信息,对于执行大文件有用,可以控制进度等。
C#winform执行cmd命令,可自行输入命令执行,vs2010,亲测可用
C#完整调用cmd命令,在不重启cmd进程的情况下连续执行cmd命令,并获得执行结果,全后台执行不弹黑框。
在 C# 中调用 cmd 可以实现一些系统级的操作,比如执行命令行工具,管理系统资源等。它有以下优势: (1)强大的系统级操作:通过调用 cmd,可以执行各种系统命令,如创建、删除、复制、移动文件和文件夹等。这使得...
C#调用CMD执行命令,亲测可用,采用异步回显方式,可以多次输入
c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ ...
C#执行CMD命令并接收返回结果的实现方法 C#源码
c#使用CMD命令COPY文件,程序简单实用,适合初学者学习如何使用C#语言调用CMD命令
C#通过程序来调用cmd命令的操作,直接输入cmd命令,即可,有一定的参考价值
简单的建立C#调用cmd窗口,来执行cmd 命令,并且返回查询结果
该软件实现C#调用系统cmd.exe,并实现cmd命令。
C# 执行cmd 命令 获取返回信息
C#实现调用CMD 执行定时关机 主要就是调用CMD 执行SHUTDOWN 命令 可以尝试执行其他命令!
.net调用系统cmd指令类,内含直接调用cmd指令得到返回内容的方法
asp.net程序部署后用c#调用cmd不运行方案
c#调用 命令行 一直运行CMD 的 ARP -D 命令,可自己调节时间。 清除arp 地址表。 附C# 源码
自己弄的一个小玩意,在有自带无线网卡的笔记本上,可以很方便的控制自己wifi的情况
本文实现了C#隐式运行CMD命令的功能。下图是实例程序的主画面。在命令文本框输入DOS命令,点击“Run”按钮,在下面的文本框中输出运行结果。 下面是程序的完整代码。本程序没有使用p.StandardOutput.ReadtoEnd()和p...
有时候有一些DOS命令需要我们在执行程序的时候调用,这需要使用C#提供的相关接口。 代码如下,很简单,相信大家都能看懂,我就不赘述了。 using System; using System.Collections.Generic; using System.Linq; ...