[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]调用批处理如果开启变量延迟执行完无法自动关闭窗口

本帖最后由 yakeyun 于 2022-2-11 16:37 编辑

调用下面代码,调用命令:start d:\时间.bat。测试发现只要代码中有延迟变量命令,执行完窗口不会自动关闭。不想用CALL 这样会耽误多个代码的同时执行时长。
脚本的作用是获取当前系统日期和时间并转换为UNIX编码,然后直接修改注册表系统安装日期项。

  1. @echo off
  2. setlocal
  3. call :GetUnixTime UNIX_TIME
  4. echo %UNIX_TIME% 格式标准:1970-01-01 00:00:00
  5. @reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "InstallDate" /t REG_DWORD  /d %UNIX_TIME% /f
  6. exit /b
  7. :GetUnixTime
  8. setlocal enableextensions
  9. for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do (
  10.     set %%x)
  11. set /a z=(14-100%Month%%%100)/12, y=10000%Year%%%10000-z
  12. set /a ut=y*365+y/4-y/100+y/400+(153*(100%Month%%%100+12*z-3)+2)/5+Day-719469
  13. set /a ut=ut*86400+100%Hour%%%100*3600+100%Minute%%%100*60+100%Second%%%100
  14. endlocal & set "%1=%ut%" & goto :EOF
复制代码
代码执行(systeminfo命令查询)后的效果:

回复 2# Batcher


老大知道导致这个问题的原因吗,即使命令结尾关闭延迟变量也不会自动关闭窗口。

TOP

回复 2# Batcher

EXIT成功了

TOP

回复 1# yakeyun


    exit /b 改成 exit 可以吗?
1

评分人数

    • yakeyun: 乐于助人先锋,管理回复总是很及时。技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表