找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22186|回复: 3

[文件操作] 能否用批处理实现批量生成自解压文件?

[复制链接]
发表于 2011-4-18 01:14:13 | 显示全部楼层 |阅读模式
想通过这个自解压脚本把一些小工具直接做成单文件的绿色版,现在有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,很麻烦!


请问能否用批处理实现批量生成自解压文件?
发表于 2011-4-18 06:16:02 | 显示全部楼层
本帖最后由 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<名称> - 指定自解压图片
发表于 2011-4-18 08:17:00 | 显示全部楼层
版主就是强,学习一下。
发表于 2011-4-18 15:20:39 | 显示全部楼层
本帖最后由 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 命令语句中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:17 , Processed in 0.018290 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表