[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

想通过这个自解压脚本把一些小工具直接做成单文件的绿色版,现在有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: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<名称> - 指定自解压图片
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

版主就是强,学习一下。
谦虚是持续成功的保证..
www.13168.org

TOP

本帖最后由 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 命令语句中
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表