闲来没事,学习了一下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 可以实现一些系统级的操作,比如执行命令行工具,管理系统资源等。它有以下优势: (1)强大的系统级操作:通过调用 cmd,可以执行各种系统命令,如创建、删除、复制、移动文件和文件夹等。这使得...
WinForms提供了一个用户友好的界面,而通过C#执行CMD(命令提示符)命令,开发者可以调用系统级别的功能,执行批处理任务或者与操作系统进行更深度的交互。在VS2010(Visual Studio 2010)环境下,这个过程可以通过...
总之,通过C#调用CMD命令并实时获取输出信息,开发者可以灵活地控制程序执行的流程,特别是在处理大量数据或长时间运行的任务时,这种技术能提供必要的进度监控和用户反馈。这在提高应用程序的可交互性和用户体验...
总结,C#调用CMD命令主要依赖`System.Diagnostics.Process`类,通过设置不同的启动参数和使用输入输出流,可以实现不重启CMD进程的连续执行以及获取执行结果。在编写代码时,一定要注意进程管理、错误处理以及用户...
总的来说,C#调用CMD命令行并获取返回数据是通过`System.Diagnostics.Process`类来实现的,这使得我们可以方便地执行各种系统级操作,增强了C#程序的功能。在实际开发中,这个技巧常用于系统集成、自动化测试、文件...
本知识点将详细探讨如何在C#中调用CMD执行命令,并介绍一个具体的案例——异步回显方式,允许用户多次输入。 首先,我们需要了解C#中用于执行外部程序的方法:`System.Diagnostics.Process`类。这个类提供了启动、...
在C#中调用CMD命令通常涉及使用`System.Diagnostics.Process`类。 以下是一个简单的C#代码示例,展示了如何执行CMD命令并捕获输出: ```csharp using System; using System.Diagnostics; class Program { static...
首先,我们要了解C#调用CMD的基本原理。这通常涉及到使用System.Diagnostics命名空间中的Process类。Process类提供了启动、控制和与外部进程交互的能力。在C#中,我们可以创建一个Process实例,设置其StartInfo属性...
c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ 调用cmd发送cmd 命令c# 打压缩包,c++ ...
在某些情况下,我们需要在WinForm应用中执行CMD(命令提示符)命令,以实现与操作系统底层的交互,如系统管理、文件操作或调用外部程序等。本篇将详细介绍如何在C# WinForm应用中执行CMD命令。 首先,我们要引入...
简单的建立C#调用cmd窗口,来执行cmd 命令,并且返回查询结果
例如,使用C#调用Windows的命令提示符(CMD)来进行一系列自动化任务处理,如文件操作、系统配置更改等。本文将详细介绍如何利用C#来启动并操作CMD命令行窗口。 #### 一、理解C#中的Process类 在C#中,`System....
本文将深入探讨一个具体的场景:ASP.NET程序部署后,尝试使用C#语言调用CMD命令行执行特定任务,但遇到了执行失败的问题。这不仅是一个技术挑战,也是对开发者解决问题能力的一次考验。 ### ASP.NET程序调用CMD的...
【标题】:“C#调用cmd命令管理wifi小工具(附带源码)” 这个标题表明,这是一个使用C#编程语言开发的小型应用程序,它的主要功能是通过调用操作系统的命令行工具(cmd)来管理和控制笔记本电脑上的内置无线网络连接...
通过调用`System.Diagnostics.Process`类,可以在C#中启动一个外部进程(例如CMD),并与其交互以发送命令及接收输出。 #### 二、关键代码分析 ```csharp public static string Cmd(string[] cmd) { Process p = ...
c#使用CMD命令COPY文件,程序简单实用,适合初学者学习如何使用C#语言调用CMD命令
当需要在C#程序中执行命令行(CMD)命令时,可以利用System.Diagnostics命名空间中的Process类。这个功能广泛应用于自动化任务、系统管理或者调用外部可执行文件等场景。下面将详细介绍如何在C#中执行CMD命令。 ...
在C#编程中,创建一个简单的cmd命令输出窗口可以让我们以图形化的方式显示命令行操作的结果,这对于开发桌面应用程序或者需要交互式执行系统命令的场景非常有用。下面将详细介绍如何利用C#来实现这一功能。 首先,...
在IT行业中,编程语言C#是一种广泛用于开发Windows...总之,通过C#调用CMD执行定时关机是一项实用的技术,可以帮助我们自动化管理计算机的关机操作。结合其他命令,我们可以完成更多系统维护和管理任务,提高工作效率。
总的来说,通过C#调用CMD命令,我们可以实现对Windows系统的各种控制,包括立即或定时关机。这个功能在编写系统管理工具或自动化脚本时非常实用。理解并掌握这种技术,将有助于提升你的C#编程能力,同时也能解决实际...