[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理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 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

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

TOP

晕  我自己看错了  我以为第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 以为是命令错了。。。

TOP

由于 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 编辑 ]

TOP

返回列表