我的问题是我想设置一个带有注册表值的变量 但数据值本身使用令牌很复杂。 我试图使用:
for /F "tokens=3* delims=" %%g IN
('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
/v Path ^| findstr /i Path') do set OLD_SYSTEM_PATH=%%g
但输出是完整的REG值,包括“Path
”和“Type
”
任何想法都将受到赞赏
答案 0 :(得分:2)
@echo off
FOR /F "tokens=3 skip=1 delims= " %%a IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do (
set OLD_SYSTEM_PATH=%%a
)
echo %old_system_path%
答案 1 :(得分:0)
for /F "tokens=2*" %%g IN ('
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path
^| findstr /i /l "Path"
') do set "OLD_SYSTEM_PATH=%%h"
删除delims
子句以使用空格和制表符作为分隔符,请求第二个输入标记(类型)到指示的for
可替换参数(%%g
),其余的下一个for
可替换参数(%%h
)