Board logo

标题: [文本处理] [已解决]批处理for获取reg query命令结果出错求助 [打印本页]

作者: a904055262    时间: 2009-9-15 12:40     标题: [已解决]批处理for获取reg query命令结果出错求助

for /f  %%a in ('reg query "HKCU\software\microsoft\windows\currentversion\explorer\shell folders" /v "desktop" ') do (
echo.%%a
)
红色部分 单独执行能得到正确的结果 但是在FOR里面执行 会得到:HKCU\software\microsoft\windows\currentversion\explorer\shell

[ 本帖最后由 a904055262 于 2009-9-15 14:41 编辑 ]
作者: zhouyongjun    时间: 2009-9-15 13:35

for /f "skip=4 tokens=2*" %%a in ('reg query "HKCU\software\microsoft\windows\currentversion\explorer\shell folders" /v "desktop" ') do (
echo.%%b
)
先去学习下for语句
http://bbs.bathome.net/thread-2189-1-1.html
作者: a904055262    时间: 2009-9-15 14:23

晕  我自己看错了  我以为第for没有成功执行
reg query "HKCU\software\microsoft\windows\currentversion\explorer\shell folders" /v "desktop"
执行后产生的结果 就包含了 HKCU\software\microsoft\windows\currentversion\explorer\shell folders
我还以为 只会产生 desktop reg_sz 路径

害我认识 FOR命令后产生了 HKCU\software\microsoft\windows\currentversion\explorer\shell 以为是命令错了。。。
作者: a904055262    时间: 2009-9-15 14:40

由于 reg query 在XP下系统得到的信息不一样  所以以上代码 只能在XP下面得到正确的结果
不过这样就可以了:
  1. for /f "tokens=2*" %%a in ('reg query "HKCU\software\microsoft\windows\currentversion\explorer\shell folders" /v "desktop" ^|findstr /i "desktop" ') do (
  2. echo.%%b
  3. )
复制代码



[ 本帖最后由 a904055262 于 2009-9-15 14:41 编辑 ]




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