Windows上C# 执行Cmd命令

2016-12-27 10:13:26来源:网络收集作者:管理员人点击

第七城市
using System;
using System.Diagnostics;
namespace YYX.CATest
{
///
/// 尹永贤
/// 2016-12-25 12:09:49
/// yinyongxian@qq.com
///

class Cmd : IDisposable
{
public Cmd()
{
InitializeSettings();
}
private string outputData;
private string errorData;
private readonly Process process = new Process();
private void InitializeSettings()
{
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
process.BeginOutputReadLine();
process.OutputDataReceived += (sender, e) => outputData += e.Data;
process.BeginErrorReadLine();
process.ErrorDataReceived += (sender, e) => errorData += e.Data;
}
public void Send(params string[] commands)
{
errorData = string.Empty;
foreach (var command in commands)
{
process.StandardInput.WriteLine(command);
}
process.StandardInput.WriteLine("exit");
process.WaitForExit();
if (string.IsNullOrEmpty(errorData) == false)
{
throw new InvalidOperationException(errorData);
}
}
public void Dispose()
{
process.Dispose();
GC.SuppressFinalize(this);
}
}
}
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台