标题: [其他] [已解决]调用批处理如果开启变量延迟执行完无法自动关闭窗口 [打印本页]
作者: yakeyun 时间: 2022-2-11 16:16 标题: [已解决]调用批处理如果开启变量延迟执行完无法自动关闭窗口
本帖最后由 yakeyun 于 2022-2-11 16:37 编辑
调用下面代码,调用命令:start d:\时间.bat。测试发现只要代码中有延迟变量命令,执行完窗口不会自动关闭。不想用CALL 这样会耽误多个代码的同时执行时长。
脚本的作用是获取当前系统日期和时间并转换为UNIX编码,然后直接修改注册表系统安装日期项。
- @echo off
- setlocal
- call :GetUnixTime UNIX_TIME
- echo %UNIX_TIME% 格式标准:1970-01-01 00:00:00
- @reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "InstallDate" /t REG_DWORD /d %UNIX_TIME% /f
- exit /b
-
- :GetUnixTime
- setlocal enableextensions
- for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do (
- set %%x)
- set /a z=(14-100%Month%%%100)/12, y=10000%Year%%%10000-z
- set /a ut=y*365+y/4-y/100+y/400+(153*(100%Month%%%100+12*z-3)+2)/5+Day-719469
- set /a ut=ut*86400+100%Hour%%%100*3600+100%Minute%%%100*60+100%Second%%%100
- endlocal & set "%1=%ut%" & goto :EOF
复制代码
代码执行(systeminfo命令查询)后的效果:
作者: Batcher 时间: 2022-2-11 16:27
回复 1# yakeyun
exit /b 改成 exit 可以吗?
作者: yakeyun 时间: 2022-2-11 16:35
回复 2# Batcher
EXIT成功了
作者: yakeyun 时间: 2022-2-11 17:25
回复 2# Batcher
老大知道导致这个问题的原因吗,即使命令结尾关闭延迟变量也不会自动关闭窗口。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |