标题: [注册表类] [已解决]求助批处理怎么修改系统软件安装时间为统一安装时间或指定时间 [打印本页]
作者: yakeyun 时间: 2022-1-10 11:24 标题: [已解决]求助批处理怎么修改系统软件安装时间为统一安装时间或指定时间
本帖最后由 yakeyun 于 2022-1-10 21:51 编辑
之前版主发过一版,但是找不到相关帖子了。需要把卸载里面的软件,安装时间都改成统一固定时间。
作者: yakeyun 时间: 2022-1-10 12:46
回复 1# yakeyun
帖子回复隐藏了
批处理批量修改软件安装日期为当前日期 - BAT求助&讨论 - 批处理之家 批处理_BAT脚本_PowerShell_VBS_CMD_DOS_Perl_Python - Powered by Discuz! http://www.bathome.net/viewthrea ... %3Bfilter%3D2592000
作者: flashercs 时间: 2022-1-10 13:37
本帖最后由 flashercs 于 2022-1-10 13:38 编辑
- @echo off
- set a=%date:~0,4%%date:~5,2%%date:~8,2%
- echo %a%
- pause
- rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- pause
- exit
复制代码
作者: Batcher 时间: 2022-1-10 14:24
回复 2# yakeyun
请再试一次
作者: yakeyun 时间: 2022-1-10 15:26
回复 4# Batcher - @echo off
- ::自定义日期和时间
- date 2022-06-07
- time 06:07:57
- timeout /t 1
- set a=%date:~0,4%%date:~5,2%%date:~8,2%
- echo %a%
- pause
- rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- pause
- exit
复制代码
修改了下代码,加入自定义修改日期和时间,执行后只有部分被修改成功。
作者: flashercs 时间: 2022-1-10 16:08
回复 5# yakeyun - @echo off
- set a=%date:~0,4%%date:~5,2%%date:~8,2%
- echo %a%
- pause
- rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v InstallDate /d "%a%" /t REG_SZ /f
- )
- pause
- exit
复制代码
作者: yakeyun 时间: 2022-1-10 19:17
本帖最后由 yakeyun 于 2022-1-10 21:17 编辑
回复 6# flashercs
老大,用这个可以修改已有的项目,但是许多软件没有“InstallDate”键值,所以还是不会改变,只有手动创建一个,自定义时间后才会被修改。
有一些软件添加后也没效果
测试发现,有些提示成功了,实际上没有创建键值。
作者: yakeyun 时间: 2022-1-10 21:49
本帖最后由 yakeyun 于 2022-1-11 00:38 编辑
回复 7# yakeyun
已经测试成功,"/d"前面要多一个空格,也就是2个空格,不然有些注册表项自动创建不了,同时管理员权限必不可少。- @echo off&setlocal enabledelayedexpansion
- %1 %2
- ver|find "5.">nul&&goto :Admin
- mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
- :Admin
- ::自定义完系统时间,然后再修改,即可将软件安装时间修改成指定日期和时间。
- date 2022-01-10
- time 10:10
- set a=%date:~0,4%%date:~5,2%%date:~8,2%
- echo %a%
-
- rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:32') do (
- reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
- )
- for /f "delims=" %%A in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /reg:64') do (
- reg add "%%A" /v "InstallDate" /t REG_SZ /d "%a%" /f
- )
- pause
- exit
复制代码
作者: yakeyun 时间: 2022-1-15 14:35
本帖最后由 yakeyun 于 2022-1-15 14:46 编辑
最终版本:- @echo off&setlocal enabledelayedexpansion
-
- set adat=%date:~0,4%%date:~5,2%%date:~8,2%
- echo %adat%
-
- rem 遍历注册表HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
- reg add "%%a" /v "InstallDate" /d %adat% /t REG_SZ /f >nul
- )
-
- rem 遍历注册表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下所有子项并添加或修改installdate的值为当前日期
- for /f "delims=" %%b in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
- reg add "%%b" /v "InstallDate" /d %adat% /t REG_SZ /f >nul
- )
-
- echo 修改完成!
- pause
- exit
复制代码
一定要用批处理调用下面软件,提权使用,不然个别软件时间无法修改。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |