我正在尝试将文件路径读入Windows批处理文件变量
set print_nodePath=reg query "hklm\software\node.js" /v InstallPath
for /f "skip=2 tokens=3" %%a in ('%print_nodePath%') do set nodePath=%%a
echo %nodePath%
reg查询正确返回
HKEY_LOCAL_MACHINE\software\node.js
InstallPath REG_SZ C:\Program Files\nodejs\
但我不知道如何编写'for'命令来获取文件路径,因为它包含一个空格(C:\ Program)。我想我需要加入第3和第4个令牌?
是否有一种“好”的方式来写这个?
答案 0 :(得分:1)
您只需要进行一些修改:
tokens=3
更改为tokens=2*
; %%b
而不是%%a
; 这是固定代码:
set print_nodePath=reg query "hklm\software\node.js" /v InstallPath
for /f "skip=2 tokens=2*" %%a in ('%print_nodePath%') do set "nodePath=%%b"
echo(%nodePath%
仅当注册表值名称本身不包含空格时才有效。