整个过程分三步:
1. 制作一个批处理文件,用BAT转exe工具转为exe可执行文件,该文件可通用,批处理命令非常简单
@ECHO OFF
MLD.bat
//这是第二步要用的批处理文件名,与本exe文件放在同一目录下
EXIT
2. 制作中间的批处理文件,为了方便修改,不建议转为exe可执行文件
@ECHO OFF
if "%1"=="h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
//不显示DOS的黑窗口
for /l %%i in (1,1,100) do echo %%i >nul
//计数1累加到100,延时用,不延时电脑可能不运行下一步,100这个数字可以稍微增大点,多用不了什么时间。
taskkill /f /im UnicornViewer.exe
//该命令强行结束前一步的exe文件,方便自解压文件解压后使用原文件名,如果不结束,自解压文件替换时就会出错,这是关键之处,这里以UnicornViewer为例。
for /l %%i in (1,1,100) do echo %%i >nul
//延时。
CALL SLF.EXE
//运行自解压文件,只要与此处文件名相同即可,此处使用SLF.EXE。
for /l %%i in (1,1,100) do echo %%i >nul
//延时。
del slf.exe /f
//删除自解压文件。
del %0
//删除本批处理文件自身。
EXIT