.Net ( C# ) 调用控制台程序并取得输出结果

摘要:
CALL从另一个批处理程序调用此函数。CD显示或更改当前目录的名称。CHKDSK检查磁盘并显示状态报告。CHKNTFS显示或修改启动时磁盘检查。ENDLOCAL结束批处理文件中环境更改的本地化。FC比较两组或两组文件并显示差异。FTYPE显示或修改用于文件扩展名关联的文件类型。GOTO将Windows命令解释器指向批处理程序中的标记行。IF在批处理程序中执行条件处理。PAUSE暂停处理批处理文件并显示消息。SET显示、设置或删除Windows环境变量。VOL显示磁盘卷标和序列号。
.Net ( C# ) 调用控制台程序并取得输出结果 
 
摘自:http://www.cnblogs.com/sjcatsoft/archive/2009/01/02/1366980.html

.Net本身的功能虽然很强,但是,有些时候,控制台、命令行的功用还是不可忽视的,恰当的使用命令行,可以起到事半功倍的效果.Net ( C ) 调用控制台程序并取得输出结果 - luiweiping-002 - 〖下里巴人〗 
这里要说的是以 .net 的程序为宿主,调用 命令行程序,执行某些操作,并将命令行的输出结果返回到 .net 宿主里。我们说的控制台程序,并不是单纯的指cmd.exe/command.exe,而是泛指具有标准输入、输出功能的程序。因为通常的控制台程序,多数是在 cmd 命令行界面里执行的,所以,我们以cmd为例子来说
大家在cmd命令行里,敲入 help 或 ?,可以看到如下输出:(以XP为例,其他操作系统差别不大)
ASSOC    显示或修改文件扩展名关联。  
AT       计划在计算机上运行的命令和程序。  
ATTRIB   显示或更改文件属性。  
BREAK    设置或清除扩展式 CTRL+C 检查。  
CACLS    显示或修改文件的访问控制列表(ACLs)。  
CALL     从另一个批处理程序调用这一个。  
CD       显示当前目录的名称或将其更改。  
CHCP     显示或设置活动代码页数。  
CHDIR    显示当前目录的名称或将其更改。  
CHKDSK   检查磁盘并显示状态报告。  
CHKNTFS  显示或修改启动时间磁盘检查。  
CLS      清除屏幕。  
CMD      打开另一个 Windows 命令解释程序窗口。  
COLOR    设置默认控制台前景和背景颜色。  
COMP     比较两个或两套文件的内容。  
COMPACT  显示或更改 NTFS 分区上文件的压缩。  
CONVERT  将 FAT 卷转换成 NTFS。您不能转换当前驱动器。  
COPY     将至少一个文件复制到另一个位置。  
DATE     显示或设置日期。  
DEL      删除至少一个文件。  
DIR      显示一个目录中的文件和子目录。  
DISKCOMP 比较两个软盘的内容。  
DISKCOPY 将一个软盘的内容复制到另一个软盘。  
DOSKEY   编辑命令行、调用 Windows 命令并创建宏。  
ECHO     显示消息,或将命令回显打开或关上。  
ENDLOCAL 结束批文件中环境更改的本地化。  
ERASE    删除至少一个文件。  
EXIT     退出 CMD.EXE 程序(命令解释程序)。  
FC       比较两个或两套文件,并显示不同处。  
FIND     在文件中搜索文字字符串。  
FINDSTR  在文件中搜索字符串。  
FOR      为一套文件中的每个文件运行一个指定的命令。  
FORMAT   格式化磁盘,以便跟 Windows 使用。  
FTYPE    显示或修改用于文件扩展名关联的文件类型。  
GOTO     将 Windows 命令解释程序指向批处理程序中某个标明的行。  
GRAFTABL 启用 Windows 来以图像模式显示扩展字符集。  
HELP     提供 Windows 命令的帮助信息。  
IF       执行批处理程序中的条件性处理。  
LABEL    创建、更改或删除磁盘的卷标。  
MD       创建目录。  
MKDIR    创建目录。  
MODE     配置系统设备。  
MORE     一次显示一个结果屏幕。  
MOVE     将文件从一个目录移到另一个目录。  
PATH     显示或设置可执行文件的搜索路径。  
PAUSE    暂停批文件的处理并显示消息。  
POPD     还原 PUSHD 保存的当前目录的上一个值。  
PRINT    打印文本文件。  
PROMPT   更改 Windows 命令提示符。  
PUSHD    保存当前目录,然后对其进行更改。  
RD       删除目录。  
RECOVER  从有问题的磁盘恢复可读信息。  
REM      记录批文件或 CONFIG.SYS 中的注释。  
REN      重命名文件。  
RENAME   重命名文件。  
REPLACE  替换文件。  
RMDIR    删除目录。  
SET      显示、设置或删除 Windows 环境变量。  
SETLOCAL 开始批文件中环境更改的本地化。  
SHIFT    更换批文件中可替换参数的位置。  
SORT     对输入进行分类。  
START    启动另一个窗口来运行指定的程序或命令。  
SUBST    将路径跟一个驱动器号关联。  
TIME     显示或设置系统时间。  
TITLE    设置 CMD.EXE 会话的窗口标题。  
TREE     以图形模式显示驱动器或路径的目录结构。  
TYPE     显示文本文件的内容。  
VER      显示 Windows 版本。  
VERIFY   告诉 Windows 是否验证文件是否已正确写入磁盘。  
VOL      显示磁盘卷标和序列号。  
XCOPY    复制文件和目录树。
通过上面的列表,大家可以看到,很多复杂的功能,用命令行完成是非常easy了(上面列出的并不是全部命令,只是部分
下面,我们举个例子,比如: 取得当前的系统信息,那么我只需要调用 systeminfo 即可  .Net ( C ) 调用控制台程序并取得输出结果 - luiweiping-002 - 〖下里巴人〗 

            //实例化一个进程类            Process cmd = new Process();                        //获得系统信息,使用的是 systeminfo.exe 这个控制台程序            cmd.StartInfo.FileName = "systeminfo.exe";            //将cmd的标准输入和输出全部重定向到.NET的程序里            cmd.StartInfo.UseShellExecute = false; //此处必须为false否则引发异常            cmd.StartInfo.RedirectStandardInput = true; //标准输入            cmd.StartInfo.RedirectStandardOutput = true; //标准输出            //不显示命令行窗口界面            cmd.StartInfo.CreateNoWindow = true;           cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;           cmd.Start(); //启动进程            //获取输出            //需要说明的:此处是指明开始获取,要获取的内容,            //只有等进程退出后才能真正拿到            this.textBox1.Text = cmd.StandardOutput.ReadToEnd();           cmd.WaitForExit();//等待控制台程序执行完成            cmd.Close();//关闭该进程

实例源代码下载 

摘自: 三角猫 
http://www.zu14.cn/
转载请保留此信息

posted

免责声明:文章转载自《.Net ( C# ) 调用控制台程序并取得输出结果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ognlNuxt项目中通过ESlint命令行修复格式问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SPEC CPU——简介和使用

前言 SPEC CPU是一套行业标准的CPU密集型基准测试套件。SPEC设计了此套件,以使用实际用户应用程序开发的工作负载,在最广泛的实际硬件范围内提供计算密集型性能的比较度量。这些基准作为源代码提供,要求用户习惯使用编译器命令以及通过控制台或命令提示窗口通过命令解释器使用的其他命令,以便生成可执行二进制文件。 SPEC CPU2006和SPEC CPU2...

Linux项目部署

Linux 项目部署 Chmod 777 绝对路径  ——  修改文件夹权限 Linux 上传下载文件 rz  上传文件    在shell终端仿真器中输入命令  即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器当前路径下。 sz 下载文件 在shell终端仿真器中输入命令 即可利用Zmodem将文件下载到本地某目录下。 下载的文件...

将Eclipse代码导入到AndroidStudio的两种方式

说到使用AndroidStudio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到AndroidStudio中使用。这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客,希望能让开发者少走些弯路。OK,进入正题。 Google为了让我们更加方便的使用AndroidStudio,提供了两种导入Eclipse代码的方式:一种兼容...

Linux——用户和组管理,文件权限管理,文件查找(find)

一、用户和组相关的管理命令 1)创建用户:useradd 命令格式:useradd [options] LOGIN 选项: -u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs -g GID:指明用户所属基本组,可为组名,也可以GID; -c "COMMENT":用户的注释信息; -d /PATH/TO/HOME_...

Ant基础

一 Ant 介绍 Ant是构建工具,用来实现软件的自动化的构建,类似于VisualStudio的project文件,Linux上构建C++的makefile,Ant通常用来构建Java程序。 Ant是基于XML的文件,所以更容易阅读;Ant是用Java实现的,本身支持跨平台;Ant基于插件的方式开发,本身内置了常用的大部分的插件,而且第三方的扩展也很容易...

jmeter环境搭建

1.JMeter 介绍      Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,...