先说下需求

最近客户要求把一个树型目录导出成文件夹套文件夹的结构,并提供下载功能,刚开始感觉功能比较容易实现就在最短的时间把基本功能搞定,当发布到服务器上之后发现直接在本应用程序中导出目录(下带ntko文档及附件)再进行压缩,程序直接卡死了!后来就想到了要做一window服务,只是客户给的时间太短,没办法先写一控制台程序生成一个exe文件,然后再调用这个exe文件,这样就可以缓解本程序压力了!

下面写一个测试项目

在调用exe端传过去一个要压缩的文件夹的路径,然后在控制台下获取该路径进行压缩,压缩完成之后返回压缩过后的文件夹路径或者返回一个成功与否的状态

1、返回路径

string path = @"E:\测试项目\201303\TestWindowsService\ca\bin\Debug\ca.exe";string fileName = path;Process p = new Process();p.StartInfo.UseShellExecute = false;p.StartInfo.RedirectStandardOutput = true;p.StartInfo.FileName = fileName;p.StartInfo.CreateNoWindow = true;p.StartInfo.Arguments = @"D:\zhai\aaa\安置帮教";//参数以空格分隔,如果某个参数为空,可以传入””
p.Start();p.WaitForExit();//此处可以返回一个字符串,此例是返回压缩成功之后的一个文件路径string output = p.StandardOutput.ReadToEnd();this.TextBox1.Text = output;

控制台下代码:

  static void Main(string[] args){//接收传过来的待压缩文件路径string url = "";//返回压缩过后的文件路径string retUrl = "";if (!string.IsNullOrEmpty(args[0])){url = args[0];}//此处引用了一个压缩文件的dll  using Ionic.Zip;using (ZipFile zf = new ZipFile(System.Text.Encoding.Default)){zf.AddDirectory(url);zf.Save(@"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip");retUrl = @"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip";}           Console.Write(retUrl); }

2、返回一个状态

            //Process myProcess = new Process();//string fileName = path;//string para = "你好 北纬30度!";//ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(fileName, para);//myProcess.StartInfo = myProcessStartInfo;//myProcess.Start();//while (!myProcess.HasExited)//{//    myProcess.WaitForExit();//}            //int returnValue = myProcess.ExitCode;

控制台下

 static int Main(string[] args){int i=0;if (!string.IsNullOrEmpty(args[0])){url = args[0];}if(url){i=1;}return i;}

转载于:https://www.cnblogs.com/nyzhai/archive/2013/06/02/3113800.html

.NET调用控制台下生成的exe文件,传参及获取返回参数相关推荐

  1. asp.net 通过ajax方式调用webmethod方法使用自定义类传参及获取返回参数

    实体类    public class User     {         public int Id { get; set; } public string Name { get; set; } ...

  2. C++ ShellExecuteEx 调用exe 文件传参

    环境:Win10, x64, VS2015 记录日期:2020/10/15 实现内容: 1.ShellExecuteEx 调用exe 2.以文件为参数传参 代码: #include <iostr ...

  3. Python脚本生成单个EXE文件

    本文环境配置: 系统=>windows10:64位 语言=>Python:3.7.1 第三方库 pywin32:224 PyInstaller:3.4 PyQT5:5.11.3 工具=&g ...

  4. matlab读mif文件,关于QuartusII里面调用MATLAB里生成的mif文件的一些问题(转)

    关于QuartusII里面调用MATLAB里生成的mif文件的一些问题(转) 最近做DDS正弦信号发生器,需要用到MATLAB生成一个正弦信号的ROM(MIF文件).首先在MATLAB里面建立一个M- ...

  5. pyinstaller打包生成的exe文件(并设置运行时静默)

    pyinstaller打包生成的exe文件(并设置运行时静默) 目录 pyinstaller打包生成的exe文件(并设置运行时静默)

  6. pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行

    pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 目录 pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 #pyinstalle ...

  7. Python执行pyinstaller打包生成的exe文件实战

    Python执行pyinstaller打包生成的exe文件实战 目录 Python执行pyinstaller打包生成的exe文件实战 #pyinstaller打包生成的exe文件

  8. CodeBlocks: 生成的exe文件自定义一个图标

    CodeBlocks生成的exe文件的图标默认是系统图标,如何自定义一个漂亮的小图标呢? 我是C菜鸟,平时只用CodeBlocks练习c,也不开发什么软件,这个问题就难倒我了. 到网上搜索了一下,发现 ...

  9. 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?

    为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开? 2014-11-09 20:20147****3349 | 浏览 448 次  操作系统 在同一个电脑里,在mat ...

最新文章

  1. 复合五点高斯公式计算(Python实现)
  2. 服务器光信号闪红灯是什么意思,路由器光信号闪红灯是什么意思
  3. WebStorm调试Electron
  4. 一些使用javap反编译出来的结果分析
  5. 为什么dubbo的调用重试不建议设置成超过1
  6. 2016第三届科学数据大会诚邀商务合作
  7. java字符串拼接_字符串拼接,什么时候会走StringBuilder?
  8. Linux C入门之路,Linux C++学习之路
  9. LeetCode 169. 多数元素 (哈希映射|投票算法)
  10. UITableViewDataSource Protocol Reference
  11. H.264 sequence parameter sets成员值含义学习笔记
  12. Python内置函数filter(),map(),reduce(),lambda
  13. CentOS7.0离线安装RHadoop
  14. matlab中[d1_sj_d1],Matlab中竖曲线计算程序
  15. 带拼音计算机语言翻译软件,拼音转换汉字翻译器
  16. IOS越狱插件汉化工具
  17. Automating Android with Ant
  18. glm/glm.hpp_从GLM到GBM(第2部分)
  19. Android存储管理
  20. PaaS平台案例汇,企业PaaS平台搭建思路

热门文章

  1. Docker的C/S模式
  2. vue-cli 搭建的项目处理不同环境下请求不同域名的问题
  3. ffmpeg -acodec列表
  4. macOS U盘烧录Linux iso镜像
  5. .NET下载文件报错System.UnauthorizedAccessException的解决方法
  6. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用36
  7. ubuntu下make无法安装的问题
  8. 第一个C#程序:HelloWorld
  9. 洛谷 P3745 [六省联考2017]期末考试
  10. 域渗透——Pass The Hash Pass The Key