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

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

本帖最后由 yakeyun 于 2022-1-10 21:51 编辑




之前版主发过一版,但是找不到相关帖子了。需要把卸载里面的软件,安装时间都改成统一固定时间。

本帖最后由 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
复制代码
一定要用批处理调用下面软件,提权使用,不然个别软件时间无法修改。

TOP

本帖最后由 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
复制代码

TOP

本帖最后由 yakeyun 于 2022-1-10 21:17 编辑

回复 6# flashercs



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




测试发现,有些提示成功了,实际上没有创建键值。

TOP

回复 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

评分人数

    • yakeyun: 谢谢版主帮助,已经解决。技术 + 1
微信:flashercs
QQ:49908356

TOP

回复 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
复制代码
修改了下代码,加入自定义修改日期和时间,执行后只有部分被修改成功。

TOP

回复 2# yakeyun


    请再试一次
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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

评分人数

    • yakeyun: 谢谢版主帮助,已经解决。技术 + 1
微信:flashercs
QQ:49908356

TOP

回复 1# yakeyun

帖子回复隐藏了

批处理批量修改软件安装日期为当前日期 - BAT求助&讨论 - 批处理之家 批处理_BAT脚本_PowerShell_VBS_CMD_DOS_Perl_Python - Powered by Discuz!  http://www.bathome.net/viewthrea ... %3Bfilter%3D2592000

TOP

返回列表