C# 调用控制台程序并取得输出结果.docx
上传人:qw****27 上传时间:2024-09-12 格式:DOCX 页数:6 大小:51KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

.Net本身的功能虽然很强,但是,有些时候,控制台、命令行的功用还是不可忽视的,恰当的使用命令行,可以起到事半功倍的效果这里要说的是以.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即可//实例化一个进程类Processcmd=newProcess();//获得系统信息,使用的是systeminfo.exe这个控制台程序cmd.StartInfo.FileName="systeminfo.exe";//将cmd的标准输入和输出全部重定向到.NET的程序里cmd.StartI