bat处理程序的自更新及启动
大约 1 分钟
1、执行bat脚本启动应用
执行exe执行文件, 当执行出错的时候程序会自动关闭启动窗口,无法看到报错信息
编写bat脚本, 实现: 执行出错不关闭执行窗口
@echo off
cd /d %~dp0
set %BIN_FILE%=register.exe
start "" /B /WAIT %BIN_FILE%
pause
pause
: 程序退出后命令行窗口不退出。/B
: 后台运行,不阻塞当前命令行窗口,即以静默的方式启动应用程序,并且不会开启新的命令行窗口。/WAIT
: 表示等待启动的程序退出后才继续执行后续的命令。
2、脚本实现程序自更新
bat脚本实现: 检查程序是否有新版本, 有新版本自动升级后启动程序
@echo off
cd /d %~dp0
set BIN_URL=https://www.deanhan.cn/xxx/register.exe
set VERSION_URL=https://www.deanhan.cn/demo/xxx/version.txt
set VERSION_FILE=version.txt
set TMPFILE=tmp.txt
set BIN_FILE=register.exe
"./bin/wget" --no-check-certificate -q -O %TMPFILE% %VERSION_URL%
set /p LASEST_VERSION=<%TMPFILE%
set /p VERSION=<%VERSION_FILE%
del /q %TMPFILE%
if %VERSION% NEQ %LASEST_VERSION% (
echo updating software, waiting...
"./bin/wget" --progress=bar:force --no-check-certificate -O %BIN_FILE% %BIN_URL% echo %LASEST_VERSION% > %VERSION_FILE%
)
start "" /B /WAIT %BIN_FILE%
pause
3、F&Q
可能会遇到一些其他的问题,
比如运行bat脚本并打开控制台后,发现控制台没办法关闭,这个时候我们杀死所有脚本开启的应用进程,比如:
taskkill /F /IM register.exe
。