Board logo

标题: [注册表类] 批处理读取注册表的值然后赋值给批处理变量 [打印本页]

作者: msjsp    时间: 2008-12-22 21:14     标题: 批处理读取注册表的值然后赋值给批处理变量

如题,如何用批处理读取注册表的值然后用set赋值给批处理变量
本人的思路如下,但不可行,请问为什么


先用  reg query 读取注册表某键值(Path)到某文本文档(c:\temp.txt)
然后用   for /f  来读取temp.txt 的指定值  然后赋值

//查询
@echo off
reg query "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path >c:\temp.txt
pause


//读取并赋值
@echo off
for /f "skip=4 tokens=3 delims= " %%i in (c:\temp.txt) do set /p res=%%i
pause


但是不行  为什么?
作者: more    时间: 2008-12-22 21:18

set res=%%i
/p参数是错误的
作者: more    时间: 2008-12-22 21:29

  1. @echo off
  2. for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Session
  3. Manager\Environment" /v Path^|findstr /i "path"') do (
  4.   set "pth=%%b"
  5. )
  6. echo %pth%
  7. echo.&pause
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2