首页 > Windows开发 > 详细

C# CMD直接运行语句

时间:2021-05-20 23:00:46      阅读:27      评论:0      收藏:0      [点我收藏+]

 

#region CMD直接运行语句,不适用所有服务器
bool result = false;
try
{
using (Process process = new Process())创建进程对象
{
string strInput = Console.ReadLine();
Process p = new Process();
设置要启动的应用程序
p.StartInfo.FileName = "cmd.exe";
是否使用操作系统shell启动
p.StartInfo.UseShellExecute = false;
接受来自调用程序的输入信息
p.StartInfo.RedirectStandardInput = true;
输出信息
p.StartInfo.RedirectStandardOutput = false;
不显示程序窗口
p.StartInfo.CreateNoWindow = true;
输出错误
p.StartInfo.RedirectStandardError = false;
启动程序
p.Start();

进入文件夹中
string stmp = Assembly.GetExecutingAssembly().Location;
stmp = stmp.Substring(0, stmp.LastIndexOf(‘\\‘));删除文件名
向cmd窗口发送输入信息
string cmd0 = $"@echo off &cd {stmp} &{appSetting.BackupPath.Substring(0,1)}:";
string cmd1 = $"SET BackaupFolder={appSetting.BackupPath}SQL";
string cmd2 = "if not exist %BackaupFolder% ( md %BackaupFolder% )";
string cmd3 = $"mysqldump -hlocalhost -uroot -proot@123 mis expresspackage downpackage > {appSetting.BackupPath}SQL\\wcsop_{DateTime.Now.ToString("yyyyMMdd")}.sql "+"&exit";
p.StandardInput.WriteLine(cmd0 + Environment.NewLine);
p.StandardInput.WriteLine(cmd1 + Environment.NewLine);
p.StandardInput.WriteLine(cmd2 + Environment.NewLine);
p.StandardInput.WriteLine(cmd3);
p.StandardInput.AutoFlush = true;

Logger<DataClassDal>.Debug("BackupOpTable ,cmd0:"+ cmd0);
Logger<DataClassDal>.Debug("BackupOpTable ,cmd1:" + cmd1);
Logger<DataClassDal>.Debug("BackupOpTable ,cmd2:" + cmd2);
Logger<DataClassDal>.Debug("BackupOpTable ,cmd3:" + cmd3);

获取输出信息
string strOuput = p.StandardOutput.ReadToEnd();
等待程序执行完退出进程
p.WaitForExit();
p.Close();

result = true;
Logger<DataClassDal>.Debug("BackupOpTable True");
}
}
catch (Exception ex)
{
Logger<DataClassDal>.Error("BackupOpTable Error:", ex);
}
return result;
#endregion

 

C# CMD直接运行语句

原文:https://www.cnblogs.com/wa502/p/14790902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!