手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码
.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码
摘要:最近客户要求把一个树型目录导出成文件夹套文件夹的结构,并提供下载功能,刚开始感觉功能比较容易实现就在最短的时间把基本功能搞定,当发布到服务器...

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

下面写一个测试项目

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

1、返回路径

复制代码 代码如下:

string path = @"E:测试项目201303TestWindowsServicecabinDebugca.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:zhaiaaa安置帮教";//参数以空格分隔,如果某个参数为空,可以传入””

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:zhaiaaa"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip");

retUrl = @"D:zhaiaaa"+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;

}

【.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码】相关文章:

C#设置本地网络如DNS、网关、子网掩码、IP等等

让你的.NET程序兼容不同版本的Dll文件

从外部的js文件中获取ASPX页面的控件ClientID

c# 调用WinRAR 实现文件压缩、文件解压WinRAR命令行参数不弹窗

asp.net下OnClientClick的妙用!

asp.net web大文件上传带进度条实例代码

asp.net下文件上传和文件删除的代码

asp.net汉字转拼音和获取汉字首字母的代码

asp.net 动态生成控件并获取其值

在.NET中利用XMLHTTP下载文件的代码

精品推荐
分类导航