Board logo

标题: [特效代码] 批处理如何解压文件并执行解压出来的程序? [打印本页]

作者: ohar    时间: 2009-4-10 17:05     标题: 批处理如何解压文件并执行解压出来的程序?

批处理自己应该不会解压文件吧
已知文件在c:\123.rar,解压后只有一个文件c:\123.exe
要求解压后执行123.exe,此过程中不用任何操作
作者: gohai    时间: 2009-4-10 17:17

论坛上查,一大堆的,
我举个例子,用7z解压的,
  1. @echo off
  2. set "zip_path=D:\7-Zip"
  3. "%zip_path%\7z"  e  123.rar
  4. start 123.exe
复制代码

作者: stuqx    时间: 2009-4-10 17:55

下面这个是在WINRAR的帮助中找到的    只把主要部分拿上来了   更详细的可以去查看WIMRAR的帮助




命令行语法


--------------------------------------------------------------------------------


从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:

WinRAR <命令> -<开关1> -<开关N> <压缩文件 > <文件...> <@列表文件...> <解压路径\>

命令 要 WinRAR 运行的字符组合代表功能
开关 切换操作指定类型,压缩强度,压缩文件类型,等等的定义。  
压缩文件 要处理的压缩文件名。
文件 要处理的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用 //字符后添加注释。例如,你可以包含两列字符串创建 backup.lst:
c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片

c:\work\misc

并接着运行:

winrar a backup @backup.lst

你可以在命令行中同时指定普通的文件名和列表文件名。

解压路径 只与命令 e 和 x ,搭配使用。指出解压文件添加的位置。如果文件夹不存在时,会自动创建。  


注意事项

a) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 *.* 运行全部的文件;

b) 如果未指定压缩文件扩展名时,WinRAR 将会使用在 压缩配置 中选定的默认压缩文件格式。但你可以指定 .RAR 或 .ZIP 扩展名来替换它们 ;

c) 在命令行所输入的开关会替换相同的配置设置值 ;

d) 在命令 c 、e、s、t、rr、k 和 x 可在压缩文件名中使用通配符。如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果你指定 -r 开关于这些命令时,它们将会搜索在子文件夹中的压缩文件 ;

e) 某些命令和开关只应用在 RAR 压缩文件,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩文件格式。这一些都得看压缩文件格式所提供的特性而定 ;

f) 命令和开关的大小写是相同意思的,你可以用大写或者小写来下命令均可。
作者: stuqx    时间: 2009-4-10 17:57

或者在CMD下进入WINRAR目录运行 rar /?也可以得到完整的语法
作者: defanive    时间: 2009-4-10 18:03

建议LZ用系统自带的命令压缩,然后用expand解压,虽然压缩率不高,但是即使没有WinRar的机子也能解压。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2