批处理脚本将msi文件转为自解压安装包

HELLOWORLD测试:

 1 @echo off
 2 
 3 REM 批处理文件,生成自解压安装包
 4 
 5 REM 当前目录
 6 set ccd=%~dp0
 7 
 8 REM msi文件提取目录
 9 set destFolder="%ccd%HelloWorld"
10 REM 文件导出目录
11 set packageFloder="%ccd%package"
12 
13 if not exist %destFolder% (
14 md %destFolder%
15 ) else (
16 echo %destFolder% 目录已存在
17 echo.
18 )
19 
20 if not exist %packageFloder% (
21 md %packageFloder%
22 ) else (
23 echo %packageFloder% 目录已存在
24 echo.
25 )
26 
27 REM 获取目录下文件
28 set "fileName="
29 
30 for /f "delims=" %%i in ('dir /b /a-d *.msi*') do (
31 set fileName=%%~ni
32 )
33 
34 set srcFile="%ccd%%fileName%.msi"
35 
36 REM 提取msi安装包文件到输出目录
37 msiexec /a %srcFile% /qb TARGETDIR=%destFolder%
38 
39 del .\HelloWorld\*.msi
40 
41 echo 提取msi文件成功...
42 echo.
43 
44 REM 开始生成自解压安装包
45 echo 准备生成安装包...
46 echo.
47 REM del .\package\*.exe
48 WinRAR.exe a ./package/%fileName%.exe ./HelloWorld
49 Rar.exe c -znote.txt ./package/%fileName%.exe
50 
51 REM 删除msi解压目录
52 rd/s/q .\HelloWorld
53 
54 echo.
55 echo 安装包制作完成...
56 
57 REM 退出
58 exit

测试效果:

测试文件下载:

https://pan.baidu.com/s/1MektobgWzRJEDa8eFtJFpw

posted @ 2019-09-12 23:55  Yan327  阅读(632)  评论(0编辑  收藏  举报