windows - 如何从注册表中读取(默认)值并将其放入批处理文件中的变量中?

标签 windows batch-file

我知道从注册表读取值,设置为 bat 文件中的变量有很多问题,但我不知道如何读取(默认)值?
如果我使用

Reg.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++"


我会得到

(Default) REG_SZ C:\ProgramFiles (x86)\Notepad++

但如果我使用代码:

@echo OFF
Reg.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++"
setlocal ENABLEEXTENSIONS
FOR /F "usebackq skip=2 tokens=1-3" %%A IN ('Reg QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++" ') DO (
set ValueType=%%B
set ValueValue=%%C
)
if defined ValueType(
@echo Value Type = %ValueType%
@echo Value Value = %ValueValue%
) else (
@echo not found.
)

我收到错误:“命令的语法不正确”
我想要的是放入 ValueValue = C:\ProgramFiles (x86)\Notepad++
有人可以帮助我吗?

最佳答案

从命令行:

for /f "tokens=3*" %a in ('reg query "HKLM\SOFTWARE\Wow6432Node\Notepad++"') do echo %a %b

如果你想在脚本中做,加倍 %

关于windows - 如何从注册表中读取(默认)值并将其放入批处理文件中的变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22537506/

相关文章:

batch-file - 转义以正斜杠和问号开头的批处理文件回显

c# - 来自包含 UTF-8 字符的批处理文件的命令行参数会导致问题

windows - 批量执行一个文件并继续运行

windows - Protractor/ Selenium "could not find chromedriver at"(在 Windows 上)

batch-file - %%~dpa 的含义?

linux - 从 Linux live USB 在 Windows 上安装软件

windows - 如何在 Windows 机器上建立远程 UNIX 套接字隧道

batch-file - 如何使用批处理脚本获取呈现特定文件夹的批处理脚本位置(以编程方式)

Windows 批处理 - 将多个文本文件连接成一个

c - 为旧系统编写相对较大的线程应用程序