标题: [注册表类] 【已解决】求教批处理如何获取注册表内的值,感谢 [打印本页]
作者: 986981535 时间: 2022-12-20 11:33 标题: 【已解决】求教批处理如何获取注册表内的值,感谢
本帖最后由 986981535 于 2022-12-20 14:45 编辑
计算机注册表红色部分可能改变,但是他项目内有固定项:InstallLocation 值为:C:\Program Files (x86)\Adobe\Acrobat Reader DC\
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-2052-7B44-AC0F074E4100}
如何通过bat获取到红色的值,并后续调用他:MsiExec.exe /I{AC76BA86-7AD7-2052-7B44-AC0F074E4100}
另外还有个办法就是再C盘内有个文件夹也是这个值:C:\ProgramData\Adobe\Setup\{AC76BA86-7AD7-2052-7B44-AC0F074E4100}
可以获取这个也是可以。
感谢~
作者: 986981535 时间: 2022-12-20 12:01
我完成第二个。求注册表的,谢谢
@echo off
dir /b C:\ProgramData\Adobe\Setup\{*}
for /f "delims=" %%A in ('dir /b C:\ProgramData\Adobe\Setup\{*}') do set "BakFileName=%%A"
MsiExec.exe /I%BakFileName% /passive
作者: ANSL 时间: 2022-12-20 12:19
本帖最后由 ANSL 于 2022-12-20 12:23 编辑
- @echo off
- Setlocal enabledelayedexpansion
- for /f "skip=1 delims=: tokens=1,*" %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-2052-7B44-AC0F074E4100}" /v "InstallLocation"') do (
- set str=%%i
- set var=%%j
- set "var=!var:"=!"
- if not "!var:~-1!"=="=" set value="!str:~-1!C:!var!"
- )
- MsiExec.exe /I %value%
- pause&exit
复制代码
存为 ANSI格式
如果{AC76BA86-7AD7-2052-7B44-AC0F074E4100}变成了 其他的就不行
作者: 986981535 时间: 2022-12-20 13:22
回复 3# ANSL
你好,这个值是变动的{AC76BA86-7AD7-2052-7B44-AC0F074E4100},所以希望可以获取到实际的值。他和版本有关系。
作者: ANSL 时间: 2022-12-20 13:27
回复 4# 986981535
你的方法
用文件夹判断方法不行吗.....- @echo off
- dir /b C:\ProgramData\Adobe\Setup\{*}
- for /f "delims=" %%A in ('dir /b C:\ProgramData\Adobe\Setup\{*}') do set "BakFileName=%%A"
- MsiExec.exe /I%BakFileName% /passive
复制代码
作者: Batcher 时间: 2022-12-20 13:56
回复 1# 986981535 - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s /v InstallLocation') do (
- set "PreRow=!ThisRow!"
- set "ThisRow=%%i"
- if "!ThisRow:Acrobat Reader DC=!" neq "!ThisRow!" (
- for /f "delims=" %%a in ("!PreRow!") do (
- echo,%%~nxa
- )
- goto :End
- )
- )
-
- :End
- pause
复制代码
作者: 986981535 时间: 2022-12-20 14:16
回复 5# ANSL
可以,只是想再多一个方式。
作者: 986981535 时间: 2022-12-20 14:44
回复 6# Batcher
感谢,可以了。虽然不太懂,有空再研究下。非常感谢
作者: jimmy2008317 时间: 2023-4-14 18:00
回复 6# Batcher
大神,能帮忙给改一下这个吗
希望能在 【hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&ID_%PID%\XXXX】路径下找到下面的XXXX,然后修改XXXX下的值
但是每一个WTG系统 “SYSTEM”文件导入后的 【hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%\XXXX】VID PID MSFT 都不一样
您能给一下如何寻找路径中XXXX吗(【hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%】路径下只有XXXX这一个项)
附:有办法通过批处理获得U盘的VID、PID吗- @echo off
- color b
- reg unload HKEY_LOCAL_MACHINE\wtgsys
- cls
- title 启动WTG系统拔出冻结(测试版)
- echo 启动WTG系统拔出冻结(测试版)
-
- ping /n 2 127.1>nul
- echo 加载注册表
- echo (如果电脑上仅有一个WTG系统,直接按enter,否则输入对应盘盘符 格式“X:”)
- set /p in=
-
- for %%a in (E: F: G: H: I:) do (
- if exist %%a\ (
- if "%%a"=="%in%" goto inload
- )else echo 无%%a盘
- )
-
- for %%a in (E: F: G: H: I:) do (
- if exist %%a\ (
- echo 在%%a盘加载
- reg load HKEY_LOCAL_MACHINE\wtgsys %%a\Windows\System32\config\SYSTEM
- )else echo 无%%a盘
- )
-
- :ID
- ping /n 5 127.1>nul
- cls
- echo 请输入VID 174C
- set /p VID=
- echo 请输入PID 55AA
- set /p PID=
- echo 请输入MSFT序列号 60SSFD42521AF031BB8
- set /p MSFT=
- if "%VID%"=="" goto err
- if "%PID%"=="" goto err
- if "%MSFT%"=="" goto err
- cls
- echo 请确认
- echo VID: %VID%
- echo PID: %PID%
- echo 序列号: %MSFT%
- pause
-
- reg add hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%\%MSFT% /v DeviceDesc /d "@usbstor.inf,%genericbulkonly.devicedesc%;USB Mass Storage Device" /f
- reg add hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%\%MSFT% /v Capabilities /t REG_DWORD /d "148" /f
- reg add hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%\%MSFT% /v Service /t REG_SZ /d USBSTOR /f
- reg add hklm\wtgsys\ControlSet001\Enum\USB\VID_%VID%^&PID_%PID%\%MSFT% /v Mfg /t REG_SZ /d "@usbstor.inf,%generic.mfg%;Compatible USB storage device" /f
-
- reg unload HKEY_LOCAL_MACHINE\wtgsys
-
- echo 冻结完成
-
- ping /n 5 127.1>nul
- exit
-
- :err
- echo 输入为空
- goto ID
-
- :inload
- echo 在%in%盘
- reg load HKEY_LOCAL_MACHINE\wtgsys %in%\Windows\System32\config\SYSTEM
- goto ID
复制代码
作者: Batcher 时间: 2023-4-14 21:51
回复 9# jimmy2008317
你的问题和楼主的问题不是一回事,请单独发个帖子吧。
作者: jimmy2008317 时间: 2023-4-17 12:26
回复 10# Batcher
大神,发好了,麻烦您帮忙看看
帖子
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |