在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

此文章主要内容是:

  1. // Get the full file path
  2. string strFilePath = c:\\temp\\test.bat”;
  3.  
  4. // Create the ProcessInfo object
  5. System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(“cmd.exe”);
  6. psi.UseShellExecute = false;
  7. psi.RedirectStandardOutput = true;
  8. psi.RedirectStandardInput = true;
  9. psi.RedirectStandardError = true;
  10. psi.WorkingDirectory = c:\\temp\\“;
  11.  
  12. // Start the process
  13. System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
  14.  
  15. // Open the batch file for reading
  16. System.IO.StreamReader strm = System.IO.File.OpenText(strFilePath);
  17.  
  18. // Attach the output for reading
  19. System.IO.StreamReader sOut = proc.StandardOutput;
  20.  
  21. // Attach the in for writing
  22. System.IO.StreamWriter sIn = proc.StandardInput;
  23.  
  24. // Write each line of the batch file to standard input
  25. while(strm.Peek() != -1)
  26. {
  27. sIn.WriteLine(strm.ReadLine());
  28. }
  29.  
  30. strm.Close();
  31.  
  32. // Exit CMD.EXE
  33. string stEchoFmt = “# {0} run successfully. Exiting”;
  34.  
  35. sIn.WriteLine(String.Format(stEchoFmt, strFilePath));
  36. sIn.WriteLine(“EXIT”);
  37.  
  38. // Close the process
  39. proc.Close();
  40.  
  41. // Read the sOut to a string.
  42. string results = sOut.ReadToEnd().Trim();
  43.  
  44. // Close the io Streams;
  45. sIn.Close();
  46. sOut.Close();
  47.  
  48. // Write out the results.
  49. string fmtStdOut = “<font face=courier size=0>{0}</font>”;
  50. this.Response.Write(String.Format(fmtStdOut,results.Replace(System.Environment.NewLine, “<br>”)));

.bat 的写法:

  1. @echo off
  2. path = %path%;.\..\Process\;
  3. UILessRevit2018.exe
  4. pause

1、

  1. @echo off:默认

    path = %path%;.\..\Process\; 其中%path%是必须,.\..\Process\是相对于2018.bat的路径
  1. 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. 2022-05-24内部群每日三题-清辉PMP

    1.一家公司具有一项变更控制委员会(CCB)政策,规定其每月举行一次会议来评估和审查变更请求.一个项目正在执行过程中,由于时间表和目标较为激进,需要更快的响应时间.项目经理应该怎么做? A.更新风险登 ...

  2. 深入理解webpack的chunkId对线上缓存的思考(转载)

    转载自https://juejin.cn/post/6844903924818771981#heading-6  作者:Kimm 想必经常使用基于webpack打包工具的框架的同学们,无论是使用Rea ...

  3. 【Excel】IF条件函数公式怎么用?

    版本 Excel 2019 步骤 点击插入函数 打开文档,点击公式菜单下的插入函数. 双击选择IF函数 在函数列表双击选择IF函数. 输入条件测试值 在第一个输入框输入条件测试值. 设置输出结果值

  4. IntelliJ IDEA2021.3破解教程【Windows10系统】

    IntelliJ IDEA2021.3破解教程[Windows10系统] 以下仅为本人工作.学习过程中所接触到的内容,不足之处请多包涵. 官网下载地址 最新版:https://www.jetbrain ...

  5. HID类的JoyStick描述符

    目录 应用程序改自沁恒官网的CH583EVT包中的CompoundDev工程,配合下方的描述符能够实现①直接接电脑,在设备管理器中能够查到被电脑识别为HID- compliant game conto ...

  6. Jenkins提供了哪些功能

    我的这篇文章仅仅是简单的根据上文,介绍Jenkins提供了哪些功能.具体大家还是要自己学习啦~ 官网首页就提供了windows版本的Jenkins安装包.我们可以下载一个用于学习.安装后自动打开htt ...

  7. 12组-Beta冲刺-3/5

    一.基本情况 队名:字节不跳动 组长博客:https://www.cnblogs.com/147258369k/p/15599024.html Github链接:https://github.com/ ...

  8. vue面试题及答案(1)

    vue面试题,知识点汇总(有答案) 一. Vue 核心小知识点 1.vue 中 key 值的作用 key     的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VN ...

  9. docker+react+nginx部署

    一.准备工作 1.先确保项目可以正常运行. 2.如果拉代码到Linux下进行打包,注意node版本,我就是版本不同,yarn build一直不成功. 3.找一个nginx的配置文件nginx.conf ...

  10. 解决 VSCode git commit 时 No such file or directory 报错问题

    在git 进行 commit 时出现了 Git: .git/hooks/pre-commit: line 2: ./node_modules/pre-commit/hook: No such file ...