找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17803|回复: 3

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

[复制链接]
发表于 2022-2-11 16:16:34 | 显示全部楼层 |阅读模式
本帖最后由 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命令查询)后的效果:
发表于 2022-2-11 16:27:38 | 显示全部楼层
回复 1# yakeyun


    exit /b 改成 exit 可以吗?

评分

参与人数 1技术 +1 收起 理由
yakeyun + 1 乐于助人先锋,管理回复总是很及时。

查看全部评分

 楼主| 发表于 2022-2-11 16:35:55 | 显示全部楼层
回复 2# Batcher

EXIT成功了
 楼主| 发表于 2022-2-11 17:25:23 | 显示全部楼层
回复 2# Batcher


老大知道导致这个问题的原因吗,即使命令结尾关闭延迟变量也不会自动关闭窗口。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 10:04 , Processed in 0.017013 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表