知道StartInfo.Arguments(进程命令行参数)用法的人请进!

zklvy 2004-04-08 09:20:41
我在做文件上传时候需要先压缩上传,再解压缩到临时目录下。
压缩上传还好解决,但解压缩时,我用的进程的执行程序是rar的解压缩执行程序:unrar.exe
这是需要设置StartInfo.Arguments 参数的,一个朋友告诉我这样用:
unrar.StartInfo.Arguments = " x -o+ " + rar + " " + temp.Value;
我的程序如下:

//选择上传
private void Submit1_ServerClick(object sender, System.EventArgs e)
{

if(data2.PostedFile.FileName.ToLower().Substring(data2.PostedFile.FileName.LastIndexOf(".")) != ".gsp")
{
hint.Text = "1、非法文件格式,请重新选择上传!";
}
else if(data2.PostedFile.ContentLength == 0)
{
hint.Text = "1、零字节文件,请重新选择上传!";
}
else
{
string path = MapPath("../data/");
temp.Value = path + DateTime.Now.ToString("MMddHHmmssfff");
string rar = temp.Value + @"\info.rar";
//创建临时目录
Directory.CreateDirectory(temp.Value);

//上传文件
data2.PostedFile.SaveAs(rar);

//解包到临时目录
Process unrar = new Process();
unrar.StartInfo.FileName = MapPath("../data/unrar.exe");
unrar.StartInfo.Arguments = " x -o+ " + rar + " " + temp.Value;
unrar.StartInfo.UseShellExecute = false;
unrar.Start();
unrar.WaitForExit();
unrar.Dispose();

//删除原包文件
if(File.Exists(rar))
{
File.Delete(rar);
}


}
//这样是可以的,我不明白为什么这样设置StartInfo.Arguments的参数!!!
...全文
1441 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2004-04-08
  • 打赏
  • 举报
回复
比如说你自己做了一个小的exe文件(控制台的程序吧)
然后你给了3个输入参数
如果第一个是“1”
你的程序会怎么做
如果第二个是“xxx”,你的程序又如何处理
对吧

所以说,参数这个是人为的定义的,具体的含义只有定义的人清楚,或者察看他们写的文档
比如说你打开cmd,输入isql/?,会看到有很多参数,这也是Sqlserver开发人员定义的
所以说没有一个什么样的程序需要什么样的参数的问题在里面
程序跟程序是不同的
zklvy 2004-04-08
  • 打赏
  • 举报
回复
brightheroes(闭关):
看来你确实懂的很多,那你说说StartInfo.Arguments 的用法。
为什么有的时候是一个参数,有的时候是多个参数?
我以为就一个参数就可以了,
unrar.StartInfo.FileName = MapPath("../data/unrar.exe");//是可执行程序;
unrar.StartInfo.Arguments = temp.Value;//是执行程序要执行的文件;
但这样就不行,你说说什么样的程序需要什么样的参数?
brightheroes 2004-04-08
  • 打赏
  • 举报
回复
这个是unrar.exe自己定义的一种参数模式
为什么要这么用要问他的开发人员

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧