在asp.net中调用process.start执行程序,需要设置运行iis进程用户的权限,比较麻烦, MS的站点上有一篇说明:
http://support.microsoft.com/default.aspx/kb/555134  (估计页面404)
换种方法,可以先执行cmd.exe,然后以参数形式调用bat文件即可,参考文章:http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx

此文章主要内容是:

// Get the full file path
string strFilePath = “c:\\temp\\test.bat”; // Create the ProcessInfo object
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(“cmd.exe”);
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
psi.WorkingDirectory = “c:\\temp\\“; // Start the process
System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi); // Open the batch file for reading
System.IO.StreamReader strm = System.IO.File.OpenText(strFilePath); // Attach the output for reading
System.IO.StreamReader sOut = proc.StandardOutput; // Attach the in for writing
System.IO.StreamWriter sIn = proc.StandardInput; // Write each line of the batch file to standard input
while(strm.Peek() != -1)
{
sIn.WriteLine(strm.ReadLine());
} strm.Close(); // Exit CMD.EXE
string stEchoFmt = “# {0} run successfully. Exiting”; sIn.WriteLine(String.Format(stEchoFmt, strFilePath));
sIn.WriteLine(“EXIT”); // Close the process
proc.Close(); // Read the sOut to a string.
string results = sOut.ReadToEnd().Trim(); // Close the io Streams;
sIn.Close();
sOut.Close(); // Write out the results.
string fmtStdOut = “<font face=courier size=0>{0}</font>”;
this.Response.Write(String.Format(fmtStdOut,results.Replace(System.Environment.NewLine, “<br>”)));

.bat 的写法:

@echo off
path = %path%;.\..\Process\;
UILessRevit2018.exe
pause

1、

@echo off:默认

path = %path%;.\..\Process\; 其中%path%是必须,.\..\Process\是相对于2018.bat的路径
UILessRevit2018.exe 是要执行的程序
pause是防止窗体关闭而已。

用cmd的方式执行exe程序的更多相关文章

  1. (转)C#执行exe程序

    本文转自:http://www.cnblogs.com/vir56k/archive/2012/12/03/2799810.html,作者张云飞VIR 最近在操作adb做一些事情,就需要开发个wind ...

  2. .net 代码调用cmd执行.exe程序,获取控制台输出信息

    使用.net core 对老项目升级, .net core 使用TripleDES.Create() 加密众iv字节限制 与 framework中的不同, 新项目还需要兼容老项目版本,还不想通过web ...

  3. 关于asp.net执行exe程序时权限不够的解决办法(2015.04.17更新)

    一,本文背景 长话短说:asp.net项目中需要用到PDF转换成SWF文件,用户上传后自动调用pdf2swf.exe转换. 但有个问题,执行时权限不够,导致一直报错(滚动条一直在往下滚,刷屏中),见下 ...

  4. C#执行EXE程序

    第一种方法:System.Diagnostics.ProcessStartInfo info =new System.Diagnostics.ProcessStartInfo(path);info.W ...

  5. 在任务计划程序用Bat命令执行exe程序

    @echo off :open choice /c:123 /m "1:创建,2:终止,3:删除" if errorlevel 3 goto delete if errorleve ...

  6. C#在Xp系统执行.exe程序的报错怎么查看原因

    我的电脑---->管理---->事件查看器----->应用程序,查看错误来源

  7. QT生成可执行的EXE程序

    [转载] Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行.因此 Qt 官方开发环境里 ...

  8. Cmd使用方式--命令行运行程序

    工具用惯却不知道如何去描述什么用,总感觉自己学东西用东西零零散散不系统,心虚!下面总结下自己使用cmd的几种方式. 1 => cmd,command,是window系统下命令提示符,是一种com ...

  9. 操作系统+编程语言的分类+执行python程序的两种方式+变量

    1.什么是操作系统? 操作系统就是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序. 2.为何要操作系统? a.把复杂的硬件操作封装成简单的功能\接口用来给用户或者程序来使用(文件) b.把 ...

  10. 执行Go程序的三种方式及Go语言关键字

    执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...

随机推荐

  1. 081_Introducing trigger handler class

    案例分析: 我们对一个Object写多个独立得Trigger. 但最终这不是最好的做法. 在Salesforce中,只为每个SObject设置一个触发器总是好的. 原因:每个独立触发器的执行顺序始终未 ...

  2. C# 通过程序执行svn更新或提交更改

    实现方法: private static void RunBat(string program, string parm) { try { Process proc = new Process(); ...

  3. Blockchain-enabled Access Control with Fog Nodes for Independent IoTs

    摘要: 物联网设备能力有限且数量多,因此当前的传统物联网平台可能无法在可扩展性.可靠性和实时响应方面有效地处理访问控制.本文提出了一种基于区块链.雾节点和物的角色的分散式物联网访问控制系统,利用以太坊 ...

  4. 数字成像系统—ISP

    ISP是什么Image Signal Processor,图像信号处理器.作用:处理Image Sensor(图像传感器)的输出数据.对前端图像传感器输出的信号做后期处理.如AWB等.DSP是什么Di ...

  5. 【键盘快捷键】Super键

    键盘快捷键 Super键 Windows/方框键.它有时也会被称为 Windows 键,徽标键或系统键 打开任务管理器 Ctrl+Shift+Esc

  6. my tools in windows

    Q-Dir the Quad Explorerhttp://www.q-dir.com/ NetSpeed Monitor - Network Speed Monitor for Windows 10 ...

  7. 简单理解gqrx是什么

    gqrx:Gqrx是一个基于gnuradio和Qt架构,开发的一个开源的SDR接收机的应用.下图是他的一个运行界面: gnu radio GNU Radio是一个自由软件开发工具包,提供实现软件无线电 ...

  8. Qt中跨进程Socket通信以及socket跨线程通信

    一 QTcpServer 创建流程 创建套接字服务器 QTcpServer 对象, 通过 QTcpServer 对象设置监听,即:QTcpServer::listen() 基于 QTcpServer: ...

  9. mybatis的自定义类型转化器如何使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  10. A、创建模式(5种)

    设计模式的分类总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. ...