C#调用cmd执行命令获取返回值
2017-10-25 20:04
495 查看
本文以bat批量处理文件做的,在处理过程中动态显示出来每条命令执行的结果,采用的是读取每行命令,调用cmd执行,获取返回值,此方法不是唯一方法
using System;
using System.Diagnostics;
using System.IO;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//@"F:\blockly-du\test_for_BAT\Du.BAT"
//打开BAT
StreamReader sr = new StreamReader(@"F:\blockly-du\test_for_BAT\Du.BAT");
string line = string.Empty;
while ((line = sr.ReadLine()) != null)
{
//cmd(line);
Console.WriteLine(cmd(line));
}
return;
}
static string cmd(string sr)
{
Process pro = null;
string ll = string.Empty;
try
{
pro = new Process();
pro.StartInfo.FileName = "cmd.exe"; //cmd
pro.StartInfo.UseShellExecute = false; //不显示shell
pro.StartInfo.CreateNoWindow = true; //不创建窗口
pro.StartInfo.RedirectStandardInput = true; //打开流输入
pro.StartInfo.RedirectStandardOutput = true; //打开流输出
pro.StartInfo.RedirectStandardError = true; //打开错误流
pro.Start();//执行
pro.StandardInput.WriteLine(sr + "&exit"); //&exit运行完立即退出
pro.StandardInput.AutoFlush = true; //清缓存
ll = pro.StandardOutput.ReadToEnd(); //读取输出
pro.WaitForExit(); //等待程序执行完退出进程
pro.Close();//结束
return ll;
}
catch (Exception ex)
{
Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
return null;
}
}
}
}
using System;
using System.Diagnostics;
using System.IO;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//@"F:\blockly-du\test_for_BAT\Du.BAT"
//打开BAT
StreamReader sr = new StreamReader(@"F:\blockly-du\test_for_BAT\Du.BAT");
string line = string.Empty;
while ((line = sr.ReadLine()) != null)
{
//cmd(line);
Console.WriteLine(cmd(line));
}
return;
}
static string cmd(string sr)
{
Process pro = null;
string ll = string.Empty;
try
{
pro = new Process();
pro.StartInfo.FileName = "cmd.exe"; //cmd
pro.StartInfo.UseShellExecute = false; //不显示shell
pro.StartInfo.CreateNoWindow = true; //不创建窗口
pro.StartInfo.RedirectStandardInput = true; //打开流输入
pro.StartInfo.RedirectStandardOutput = true; //打开流输出
pro.StartInfo.RedirectStandardError = true; //打开错误流
pro.Start();//执行
pro.StandardInput.WriteLine(sr + "&exit"); //&exit运行完立即退出
pro.StandardInput.AutoFlush = true; //清缓存
ll = pro.StandardOutput.ReadToEnd(); //读取输出
pro.WaitForExit(); //等待程序执行完退出进程
pro.Close();//结束
return ll;
}
catch (Exception ex)
{
Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
return null;
}
}
}
}
相关文章推荐
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值(如果有的话)
- C#调用cmd执行命令获取返回结果
- c#关闭系统进程以及如何调用cmd并执行命令
- c#.NET 调用命令控制台 并获取执行结果
- C#调用批处理(bat)文件,并获取执行批处理(bat)文件后返回值
- c#中调用cmd命令执行批处理文件
- C#程序调用cmd执行命令
- C#程序调用cmd执行命令
- c# 程序调用cmd执行命令如SVN.exe
- C#程序调用cmd执行命令-MySql备份还原
- 用C#调用CMD.exe,执行DOS命令,编码FLV
- c#调用cmd执行相关命令
- C#代码打开CMD.EXE 执行 DIR命令,并接收返回值
- C#程序调用cmd执行命令(转)
- c#中调用cmd命令执行批处理文件
- C#程序调用cmd.exe执行命令
- C#调用CMD对话框并执行命令
- C#程序调用cmd.exe执行命令
- C#程序调用CMD执行命令