中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 20:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]求助,关于reg add命令中的路径问题 查看 725 回复 2
楼 主 [已结]求助,关于reg add命令中的路径问题 发表于 2009-04-26 12:28 ·  中国 陕西 安康 电信
初级用户
★★
积分 171
发帖 78
注册 2006-11-22 11:26
19年会员
UID 71373
性别 男
状态 离线
我对批处理一无所知,只会照猫画虎的用现成的。
现在有个问题请各位大侠帮忙解决。
绿化一软件,有一程序a.exe,程序所在目录为e:\Program Files\B\
使用的时候需要在注册表中指明路径,查找注册表键值如下

@="\"e:\\Program Files\\B\\a.exe\" \"%1\""
由于该程序放的路径不确定,所以想用批处理在程序所在目录运行写入注册表路径
用REG2CMD转换后如下
reg add "HKCR\B\shell\open\command" /f /ve /t REG_SZ /d "\"e:\Program Files\B\a.exe\" \"%%1\""

现在问题来了,请教,如何用个变量把e:\Program Files\B\替代?。也就是说,a.exe放在任意目录,如何在该目录下运行批处理后在注册表中的键值成为a.exe的真实路径
我搜索了很多未果。后来找到了下面的代码,可是不行
PUSHD %~dp0
PUSHD "%TP%"
reg add "HKCR\B\shell\open\command" /f /ve /t REG_SZ /d "\"%TP%\a.exe\" \"%%1\""

[ Last edited by afeichai on 2009-4-26 at 12:47 ]
2 发表于 2009-04-26 12:36 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
reg add "HKCR\B\shell\open\command" /f /ve /d "\"%~dp0a.exe\" \"%%1\""
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
afeichai +2 2009-04-26 12:43
3 发表于 2009-04-26 12:43 ·  中国 陕西 安康 电信
初级用户
★★
积分 171
发帖 78
注册 2006-11-22 11:26
19年会员
UID 71373
性别 男
状态 离线
非常感谢你的帮助,我都折腾了几个小时了,谢谢
论坛跳转: