Board logo

标题: [文件操作] 能否用批处理实现批量生成自解压文件? [打印本页]

作者: conglin58    时间: 2011-4-18 01:14     标题: 能否用批处理实现批量生成自解压文件?

想通过这个自解压脚本把一些小工具直接做成单文件的绿色版,现在有a,b,c 3个文件夹(或者更多)需要生成,a文件夹中需运行的程序为a.exe,b文件夹中需运行的程序为b.exe,以此类推!

用winrar自带的自解压功能生成了如下rar自解压代码:

;下面的注释包含自解压脚本命令
Path=%temp%
Setup=a.exe
TempMode
Silent=1
Overwrite=1
Update=U


但因为程序的软件名都不同,如软件名不同的话用这个脚本时都要修改Setup=a.exe,很麻烦!


请问能否用批处理实现批量生成自解压文件?
作者: hanyeguxing    时间: 2011-4-18 06:16

本帖最后由 hanyeguxing 于 2011-4-18 06:41 编辑
  1. @echo off
  2. set RAR=-y -r -m5 -inul -ibck -ed -ep1
  3. for /r %%a in (*.exe) do (
  4.     call:z "%%~nxa"
  5.     "C:\Program Files\WinRAR\WinRAR.exe" a  -z$  -sfx "%%~na" "%%~dpa"
  6. )
  7. del $&exit
  8. :z:输出注释
  9. (
  10. echo;;下面的注释包含自解压脚本命令
  11. echo;Path=%%temp%%
  12. echo;Setup=%~1
  13. echo;TempMode
  14. echo;Silent=1
  15. echo;Overwrite=1
  16. echo;Update=U
  17. )>$
复制代码
set RAR=-y -r -m5 -inul -ibck -ed -ep1 用来配置 WINRAR.exe 或 RAR.exe 的本地环境变量,根据需要设置,有关开关参数请参阅 rar.txt 或 winrar.hlp 、 winrar.chm 。
ps:
开关 -SFX[名称] - 创建自解压文件
开关 -IICON<名称> - 指定自解压图标
开关 -IIMG<名称> - 指定自解压图片
作者: ik22    时间: 2011-4-18 08:17

版主就是强,学习一下。
作者: hanyeguxing    时间: 2011-4-18 15:20

本帖最后由 hanyeguxing 于 2011-4-18 15:23 编辑
  1. @echo off
  2. for /r %%a in (*.exe) do (
  3.     (
  4.         echo;;下面的注释包含自解压脚本命令
  5.         echo;Path=%%temp%%
  6.         echo;Setup=%%~nxa
  7.         echo;TempMode
  8.         echo;Silent=1
  9.         echo;Overwrite=1
  10.         echo;Update=U
  11.     )>$
  12.     "C:\Program Files\WinRAR\WinRAR.exe" a -z$ -y -r -m5 -inul -ibck -ed -ep1 -sfx "%%~na" "%%~dpa"
  13. )
  14. del $
复制代码
set RAR=-y -r -m5 -inul -ibck -ed -ep1 单独作为变量,可以在多此使用 winrar.exe 或 rar.exe 时不用每次都打,否则也可以写到 rar.exe 或 winrar.exe 命令语句中




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