关于C# 执行DOS,并输入相应命令
时间:2011-12-13
来源:互联网
string text = null;
text = textBox2.Text;
switch (text)
{
case "1":
{
string path = Environment.CurrentDirectory; //获取正在运行的目录
Process.Start("cmd", path + @"..\");//使用CMD 启动相应的目录。
// 在DOS 下直接输入命令
}
break;
目录:D:\我的文档
例如:执行后输入1,直接C从DOS 下切换到D:\我的文档 ,同时,在DOS窗体上 写入命令 new 命令。目前 我只有 写命令没有实现,请大侠们帮帮忙啊!
text = textBox2.Text;
switch (text)
{
case "1":
{
string path = Environment.CurrentDirectory; //获取正在运行的目录
Process.Start("cmd", path + @"..\");//使用CMD 启动相应的目录。
// 在DOS 下直接输入命令
}
break;
目录:D:\我的文档
例如:执行后输入1,直接C从DOS 下切换到D:\我的文档 ,同时,在DOS窗体上 写入命令 new 命令。目前 我只有 写命令没有实现,请大侠们帮帮忙啊!
作者: zpzp1027 发布时间: 2011-12-13
作者: zpzp1027 发布时间: 2011-12-13
你可以把环境变量改了,然后启动cmd。
C# code
C# code
var psi = new ProcessStartInfo(); psi.FileName = "cmd.exe"; psi.WorkingDirectory = Environment.CurrentDirectory; var process = Process.Start(psi);
作者: fangxinggood 发布时间: 2011-12-13
/// <summary>
/// 执行命令
/// </summary>
public class CmdUtil
{
///
/// 执行cmd.exe命令
///
///命令文本
/// 命令输出文本
public static string ExeCommand(string commandText)
{
return ExeCommand(new string[] { commandText });
}
///
/// 执行多条cmd.exe命令
///
///命令文本数组
/// 命令输出文本
public static string ExeCommand(string[] commandTexts)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
try
{
p.Start();
foreach (string item in commandTexts)
{
p.StandardInput.WriteLine(item);
}
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
//strOutput = Encoding.UTF8.GetString(Encoding.Default.GetBytes(strOutput));
p.WaitForExit();
p.Close();
}
catch (Exception e)
{
strOutput = e.Message;
}
return strOutput;
}
///
/// 启动外部Windows应用程序,隐藏程序界面
///
///应用程序路径名称
/// true表示成功,false表示失败
public static bool StartApp(string appName)
{
return StartApp(appName, ProcessWindowStyle.Hidden);
}
///
/// 启动外部应用程序
///
///应用程序路径名称
///进程窗口模式
/// true表示成功,false表示失败
public static bool StartApp(string appName, ProcessWindowStyle style)
{
return StartApp(appName, null, style);
}
///
/// 启动外部应用程序,隐藏程序界面
///
///应用程序路径名称
///启动参数
/// true表示成功,false表示失败
public static bool StartApp(string appName, string arguments)
{
return StartApp(appName, arguments, ProcessWindowStyle.Hidden);
}
///
/// 启动外部应用程序
///
///应用程序路径名称
///启动参数
///进程窗口模式
/// true表示成功,false表示失败
public static bool StartApp(string appName, string arguments, ProcessWindowStyle style)
{
bool blnRst = false;
Process p = new Process();
p.StartInfo.FileName = appName;//exe,bat and so on
p.StartInfo.WindowStyle = style;
p.StartInfo.Arguments = arguments;
try
{
p.Start();
p.WaitForExit();
p.Close();
blnRst = true;
}
catch
{
}
return blnRst;
}
/// <summary>
/// 实现压缩,需要rar.exe上传到网站根目录
/// </summary>
/// <param name="s"></param>
/// <param name="d"></param>
/// <example>rar("e:/www.svnhost.cn/", "e:/www.svnhost.cn.rar");</example>
public static void Rar(string s, string d)
{
ExeCommand(System.Web.HttpContext.Current.Server.MapPath("~/rar.exe") + " a \"" + d + "\" \"" + s + "\" -ep1");
}
/// <summary>
/// 实现解压缩,需要rar.exe上传到网站根目录
/// </summary>
/// <param name="s"></param>
/// <param name="d"></param>
/// <example>unrar("e:/www.svnhost.cn.rar", "e:/");</example>
public static void UnRar(string s, string d)
{
ExeCommand(System.Web.HttpContext.Current.Server.MapPath("~/rar.exe") + " x \"" + s + "\" \"" + d + "\" -o+");
}
}
作者: kong286290132 发布时间: 2011-12-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28