我是批处理脚本的新手。我试图编写一个批处理文件来遍历保存在注册表位置HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders的所有字符串值。并找到特定条件的结果。条件如下:“名称”字段以“Office14”结尾的字符串值”。我还想存储名称以“Office14”结尾的注册表值的“名称”字段。这是代码我正在使用的。
@echo OFF
set KEY_NAME="HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Folders"
set OFFICE=OFFICE14\
set RESULT="NOT FOUND"
FOR %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders"') DO (
set ValueName=%%A
REM Getting 9 characters from right i.e OFFICE14\ and comparing it to %OFFICE%
set ValueName=%ValueName:~-9%
IF %ValueName%==%OFFICE% (
set RESULT="FOUND"
goto :NEXT
)
)
: NEXT
echo %RESULT%
但这里的结果总是“未找到”。任何人都可以帮助我修复此代码或指向一些有用的文档来做同样的事情。
谢谢。
编辑:名称的完整值(以 Office14 结尾)将存储在变量中。