batch-file - 使用 REG QUERY 仅返回注册表项的值

标签 batch-file registry

我正在编写一个批处理文件,该文件执行指定文件夹中的某些可执行文件。 事实上,这些文件的目录并不总是相同,因此我需要读取注册表项以在变量中设置正确的路径。 我正在这样做

REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\SOMETHING" /v "Path exe"

我得到这个输出:

Path exe    REG_SZ    C:\Program Files (x86)\PROGRAM FOLDER

有没有办法返回 C:\Program Files (x86)\PROGRAM FOLDER 路径exeREG_SZ

提前致谢!

最佳答案

这里是查询 7-zip 路径的示例:


@echo off
@FOR /f "tokens=2*" %%i in ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip" /v "Path" 2^>Nul') do Set "ExePath=%%j"
If defined ExePath (echo EXEPATH="%ExePath%" ) Else ( echo EXEPATH NOT FOUND !!!)
pause

@FOR /f "tokens=2*" %%i in ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip" /v "Path32" 2^>Nul') do Set "ExePath32=%%j"
If defined ExePath32 (echo EXEPATH32="%ExePath32%" ) Else ( echo EXEPATH32 NOT FOUND !!!)
pause
Exit /B

另一个VLC示例:


@echo off
@FOR /f "tokens=3*" %%i in ('Reg Query HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC /ve 2^>Nul') do Set "VLCPathEXE=%%j"
If defined VLCPathEXE (echo VLCPathEXE="%VLCPathEXE%") Else (echo VLCPathEXE NOT FOUND !!!)
pause

关于batch-file - 使用 REG QUERY 仅返回注册表项的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73151116/

相关文章:

batch-file - cmd 不支持 UNC 路径作为当前目录 pushd

windows - 无法使用 powershell 从 32 位版本的 win2008 读取 64 位注册表项

batch-file - 如何使用批处理脚本创建没有新行的空文件?

batch-file - 将多个命令放入一个批处理文件

batch-file - 如何更改通过运行批处理脚本创建的新 cmd 窗口(连同自定义提示)的颜色

windows - 批处理文件: Extract characters from the end of a string in a loop

delphi - 使用delphi加载ntuser.dat hive

windows - 右键单击带参数的 "Open"

php - 通过构造函数注入(inject)到对象中的依赖项太多了吗?

registry - 以编程方式设置许可证