中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 12:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理显示路径问题【已解决】 查看 1,016 回复 10
楼 主 批处理显示路径问题【已解决】 发表于 2010-04-02 08:58 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ2009 /v Install') do (
set QQPathL=%%a
set QQPathR=%%b
)
set QQPath=%QQPathL:~-1%:%QQPathR%
echo %QQPath%
pause

上面代码是显示QQ的安装路径,问一下怎么显示(默认)里的数值?

[ Last edited by pan542 on 2010-4-6 at 22:44 ]
2 发表于 2010-04-02 11:32 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
比如下面的注册表信息
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\信息\路径]
@="C:\\Program Files\\信息"

如何用批处理显示"C:\\Program Files\\信息"的信息?
3 发表于 2010-04-02 12:34 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off
for /F "skip=4 tokens=2,*" %%a in ('reg query "HKLM\SOFTWARE\信息\路径" /ve') do echo %%b
pause


@echo off
for /F "skip=4 tokens=2,*" %%a in ('reg query "HKLM\SOFTWARE\信息\路径" /v ""') do echo %%b
pause
4 发表于 2010-04-02 13:02 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
好像显示没效果啊?
5 发表于 2010-04-02 14:12 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
运行这个进行测试:
@echo off
echo 添加注册表>d:\179.txt
reg add "HKLM\SOFTWARE\信息\路径" /ve /d "C:\Program Files\信息" /f>>d:\179.txt
echo 返回注册表>>d:\179.txt
for /F "skip=4 tokens=2,*" %%a in ('reg query "HKLM\SOFTWARE\信息\路径" /ve') do echo %%b>>d:\179.txt
echo 删除注册表>>d:\179.txt
reg delete "HKLM\SOFTWARE\信息" /f>>d:\179.txt
pause

查看d:\179.txt
6 发表于 2010-04-02 17:08 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
非常感谢Hanyeguxing的细心解答。
不过我主要想显示"C:\Program Files\信息"这部分内容
7 发表于 2010-04-02 17:30 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
5楼的代码是供你测试的,你运行3楼的代码没有正确显示吗?
那你把运行3楼代码后的结果贴上来
最好也运行5楼的代码,把179.txt的内容贴出来
8 发表于 2010-04-06 09:29 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
一开始运行3楼的2个代码都只显示“请按任意键继续。。。”

再运行5楼的代码也只显示“请按任意键继续。。。”

179.txt显示的内容如下:
“添加注册表

操作成功返回注册表
删除注册表

操作成功”


再运行3楼的代码就显示:
错误: 系统找不到指定的注册表项或值
请按任意键继续. . .
9 发表于 2010-04-06 12:43 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
如果只要显示:
@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query "HKLM\SOFTWARE\信息\路径" /ve') do set c=%%a&echo|echo %%c:~-1%%:%%b
pause


[ Last edited by Hanyeguxing on 2010-4-6 at 17:18 ]
10 发表于 2010-04-06 15:02 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
如果要使用这个路径做变量:
@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query "HKLM\SOFTWARE\信息\路径" /ve') do set c=%%a&call set c=%%c:~-1%%:%%b
echo %c%
pause


[ Last edited by Hanyeguxing on 2010-4-6 at 17:18 ]
11 发表于 2010-04-06 22:43 ·  中国 浙江 嘉兴 嘉善县 电信
新手上路
积分 9
发帖 8
注册 2006-12-15 10:45
19年会员
UID 73608
性别 男
状态 离线
在家测试成功~
十分感谢!!!
论坛跳转: