C#运行批处理【转】
/// <summary>
/// C#运行bat文件
/// </summary>
/// <param name="batPath"></param>
private void RunBat(string batPath)
{
Process pro = new Process();
FileInfo file = new FileInfo(batPath);
//设置启动进程的初始目录
pro.StartInfo.WorkingDirectory = file.Directory.FullName;
//设置要启动的引用程序或文档
pro.StartInfo.FileName = batPath;
//设置不在新窗口启动
pro.StartInfo.CreateNoWindow = false;
//开始执行
pro.Start();
//完成退出
pro.WaitForExit();
}
protected static void RunCmd(String cmd, Boolean showWindow, Boolean waitForExit)
{
WriteLine("RunCmd " + cmd); Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo();
String path = Environment.SystemDirectory;
path = Path.Combine(path, @"cmd.exe");
si.FileName = path;
if (!cmd.StartsWith(@"/")) cmd = @"/c " + cmd;
si.Arguments = cmd;
si.UseShellExecute = false;
si.CreateNoWindow = !showWindow;
si.RedirectStandardOutput = true;
si.RedirectStandardError = true;
p.StartInfo = si; p.Start();
if (waitForExit)
{
p.WaitForExit(); String str = p.StandardOutput.ReadToEnd();
if (!String.IsNullOrEmpty(str)) WriteLine(str.Trim(new Char[] { '\r', '\n', '\t' }).Trim());
str = p.StandardError.ReadToEnd();
if (!String.IsNullOrEmpty(str)) WriteLine(str.Trim(new Char[] { '\r', '\n', '\t' }).Trim());
}
}
【转】:http://www.newlifex.com/showtopic-318.aspx
C#运行批处理【转】的更多相关文章
- Windows10开机自动运行批处理、脚本等的方法
方法/步骤: 一:打开我的电脑, 在地址栏输入:“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”, 二,把自动运行批处理.脚 ...
- CMD批处理(5)——自动以管理员身份运行批处理脚本
在日常运维工作中,为方便对windows用户进行系统安装或配置等,使用Windows自带的批处理(bat文件)是一种最为简单快速的方法. 批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名 ...
- 运行批处理bat文件不出现黑框
.bat批处理文件运行时的cmd窗口是无法隐藏的,如果必须隐藏,需要采取间接的方法: 使用bat转exe的软件,有些软件可以在转换过程中让程序在后台运行: 使用vbs来运行bat,代码如下: DIM ...
- win7 任务计划运行批处理,不能正常运行,需用绝对路径
一段批处理在WIN XP下用任务计划可以正常运行: rar.exe u -m3 -s -r -o+ -x*.db -x*.zip -x*.rar zmv9netSrc.rar "Source ...
- JScript运行批处理命令的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 有时需要在JScript调用批处理命令,因为这样可以将二者的优势结合起来.今天发现调用WScript.Shell对象的 ...
- vbs运行批处理
dim wshellset wshell=createobject("wscript.shell") wshell.run "cmd /c sc query Spoole ...
- BAT 非右键方式以管理员身份运行批处理
@echo off & PUSHD %~dp0 & TITLE Run The BAT File As An Administrator mode con lines=4 cols=6 ...
- 在Sublime中编辑批处理并运行
在Sublime->Tool->Build System -> New Build System 复制如下代码名保存为 CMD.sublime-build { "cmd&q ...
- [BAT]操作系统定时任务调用批处理忽略error继续运行的方法
如下,通过forfiles删除7天以前生成的一些文件,当不存在满足搜索条件的文件时,就会报错:ERROR: No files found with the specified search crite ...
随机推荐
- ios 常见问题解决 以及小技巧
1.使用cocoaPods引用第三方类库,报错:file not found . 解决方案:设置 Project->Info->Configurations之后 clear ,然后再 ...
- Docker入门简明教程
Docker简介 概念 Docker是基于Go语言实现的云开源项目,是基于Linux的多项开源技术提供高效.敏捷和轻量级的容器方案.创建于2013年初.自从开源后就受到了广泛的关注,从长远的眼光来看, ...
- [CLR via C#读后整理]-1.CLR的执行模型
公共语言运行时(Common Language Runtime,CLR)是一个可由多种编程语言使用的"运行时".他主要提供的功能有:程序集加载,内存管理,,安全性,异常处理,线程同 ...
- linux卸载mysql
第二.停止MYSQL运行以及卸载老版本 service mysqld stop #暂停MYSQL yum remove mysql mysql-* #卸载老版本MYSQL 通过上面的命令,我们先停止 ...
- 20145307第五次JAVA学习实验报告
20145307<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 实验名 ...
- HandyJSON第三方库的日常使用与错误记录
一.错误提示 1.更新Xcode10.2,Swift5.0出现错误提示 Undefined symbols for architecture x86_64: "_swift_getField ...
- swift学习笔记 - 判断当前运行的系统和平台
最近代码需要判断代码运行的系统与平台,下面总结了一下swift下一些可以用来判断的属性: // 代码运行在32位的 Windows public var TARGET_OS_MAC: Int32 { ...
- heartbeat 编译安装配置
一.heartbeat介绍 heartbeat是HA高可用集群的一个重要组件,heartbeat实现了资源转移和心跳信息传递.它的常用组合方式为heartbeat v1,heartbeat v2+cr ...
- shiro对事务的影响
记一个 No transaction aspect-managed TransactionStatus in scope 错误的解决方法 昨天出现一个BUG,事务没有加回滚成功,修改管理员密码事务没有 ...
- Css(样式)
CSS三种样式 1.行内样式 ①将css样式与html,完全糅杂在一起,不符合w3c关于“内容与表现分离”的基本规范,不利于后期维护. ②优先级最高. 2.内部样式表 ...