如何重启批处理文件窗口并恢复批处理脚本的运行?
批处理重启后恢复运行节点实现方案
核心实现逻辑是通过临时文件记录运行状态,脚本重启后读取状态直接跳转到指定节点,具体调整步骤如下:
- 脚本开头新增状态检测逻辑,启动时优先判断是否有未完成的执行状态标记,存在则直接跳转对应节点并清理标记
@echo off :: 头部新增状态检测代码 if exist "%~dp0run_state.tmp" ( del /f /q "%~dp0run_state.tmp" goto pryc ) :: 下方接你原有脚本的正常初始化、执行逻辑
- 重启逻辑执行前写入状态标记,在你原有
goto restart代码前新增标记写入逻辑
:: 原有业务逻辑执行完毕,准备重启前写入状态标记 echo pryc > "%~dp0run_state.tmp" cls goto restart
- 修正你现有
:restart标签下的代码执行顺序,你当前的代码先执行exit会导致后续启动新脚本的逻辑完全无法运行,调整后代码如下:
:restart :: 先启动新的脚本进程,再退出当前进程 :: 如果已经使用Bat to Exe converter转成EXE,将下方的PKA64.bat替换为你生成的EXE文件名即可 start "Product Key Activator" "%~dp0PKA64.bat" exit /b
调整完后,脚本重启后会自动识别之前写入的状态标记,直接跳转到pryc节点继续执行,无需额外操作。
内容的提问来源于stack exchange,提问作者Stephen
相关产品推荐
相关产品推荐

