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

[注册表类] [已解决]求助批处理怎么修改系统软件安装时间为统一安装时间或指定时间

[复制链接]
发表于 2022-1-10 11:24:06 | 显示全部楼层 |阅读模式
本帖最后由 yakeyun 于 2022-1-10 21:51 编辑




之前版主发过一版,但是找不到相关帖子了。需要把卸载里面的软件,安装时间都改成统一固定时间。
 楼主| 发表于 2022-1-10 12:46:33 | 显示全部楼层
回复 1# yakeyun

帖子回复隐藏了

批处理批量修改软件安装日期为当前日期 - BAT求助&讨论 - 批处理之家 批处理_BAT脚本_PowerShell_VBS_CMD_DOS_Perl_Python - Powered by Discuz!  http://www.bathome.net/viewthrea ... %3Bfilter%3D2592000
发表于 2022-1-10 13:37:12 | 显示全部楼层
本帖最后由 flashercs 于 2022-1-10 13:38 编辑
  1. @echo off
  2. set a=%date:~0,4%%date:~5,2%%date:~8,2%
  3. echo %a%
  4. pause
  5. rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  6. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  7.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  8. )
  9. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  10.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  11. )
  12. pause
  13. exit
复制代码

评分

参与人数 1技术 +1 收起 理由
yakeyun + 1 谢谢版主帮助,已经解决。

查看全部评分

发表于 2022-1-10 14:24:59 | 显示全部楼层
回复 2# yakeyun


    请再试一次
 楼主| 发表于 2022-1-10 15:26:36 | 显示全部楼层
回复 4# Batcher
  1. @echo off
  2. ::自定义日期和时间
  3. date 2022-06-07
  4. time 06:07:57
  5. timeout /t 1
  6. set a=%date:~0,4%%date:~5,2%%date:~8,2%
  7. echo %a%
  8. pause
  9. rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  10. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  11.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  12. )
  13. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  14.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  15. )
  16. pause
  17. exit
复制代码
修改了下代码,加入自定义修改日期和时间,执行后只有部分被修改成功。
发表于 2022-1-10 16:08:10 | 显示全部楼层
回复 5# yakeyun
  1. @echo off
  2. set a=%date:~0,4%%date:~5,2%%date:~8,2%
  3. echo %a%
  4. pause
  5. rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  6. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  7.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  8. )
  9. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  10.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  11. )
  12. for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  13.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  14. )
  15. for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  16.   reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
  17. )
  18. pause
  19. exit
复制代码

评分

参与人数 1技术 +1 收起 理由
yakeyun + 1 谢谢版主帮助,已经解决。

查看全部评分

 楼主| 发表于 2022-1-10 19:17:46 | 显示全部楼层
本帖最后由 yakeyun 于 2022-1-10 21:17 编辑

回复 6# flashercs



老大,用这个可以修改已有的项目,但是许多软件没有“InstallDate”键值,所以还是不会改变,只有手动创建一个,自定义时间后才会被修改。
有一些软件添加后也没效果




测试发现,有些提示成功了,实际上没有创建键值。
 楼主| 发表于 2022-1-10 21:49:30 | 显示全部楼层
本帖最后由 yakeyun 于 2022-1-11 00:38 编辑

回复 7# yakeyun


已经测试成功,"/d"前面要多一个空格,也就是2个空格,不然有些注册表项自动创建不了,同时管理员权限必不可少。
  1. @echo off&setlocal enabledelayedexpansion
  2. %1 %2
  3. ver|find "5.">nul&&goto :Admin
  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
  5. :Admin
  6. ::自定义完系统时间,然后再修改,即可将软件安装时间修改成指定日期和时间。
  7. date 2022-01-10
  8. time 10:10
  9. set a=%date:~0,4%%date:~5,2%%date:~8,2%
  10. echo %a%

  11. rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  12. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  13.   reg add "%%A" /v "InstallDate" /t REG_SZ  /d "%a%" /f
  14. )
  15. for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  16.   reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
  17. )
  18. for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
  19.   reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
  20. )
  21. for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
  22.   reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
  23. )
  24. pause
  25. exit
复制代码
 楼主| 发表于 2022-1-15 14:35:48 | 显示全部楼层
本帖最后由 yakeyun 于 2022-1-15 14:46 编辑

最终版本:
  1. @echo off&setlocal enabledelayedexpansion

  2. set adat=%date:~0,4%%date:~5,2%%date:~8,2%
  3. echo %adat%

  4. rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  5. for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
  6. reg add "%%a" /v "InstallDate"  /d %adat%  /t REG_SZ  /f >nul
  7. )

  8. rem 遍历注册表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
  9. for /f "delims=" %%b in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
  10. reg add "%%b" /v "InstallDate"  /d %adat%  /t REG_SZ  /f >nul
  11. )

  12. echo 修改完成!
  13. pause
  14. exit
复制代码
一定要用批处理调用下面软件,提权使用,不然个别软件时间无法修改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 15:22 , Processed in 0.021388 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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