- 帖子
- 52
- 积分
- 94
- 技术
- 6
- 捐助
- 0
- 注册时间
- 2015-4-28
|
本帖最后由 dizimotong 于 2018-6-8 09:36 编辑
一、背景
先说说问题的背景,有一台电脑,系统XP,多人共用,每个人都有一个账号,各个用户在D:\各自登录用户名\tools\的路径下有一个用来处理目录的批处理test.bat,该批处理文件名相同,但是里面的代码不同,每个用户专门订做的,但都是用处理目录的。
现在我要将这些批处理注册到注册表的目录项中,然后就可以用点击文件夹的右键,在其右键菜单中调用批处理来快速处理一些目录,我是这样处理的:
1)在HKEY_CLASSES_ROOT\Directory\shell 建立子项test
2) 在新建的子项test下再建立一个子项command
3)在该子项command键入数值 D:\%USERNAME%\tools\test.bat "%1"
二、问题
当我按上述步骤注册好注册表后进行测试,发现右键菜单中我创建的test项无法运行,于是我就用具体的登录用户名代替上述步骤第3步中的%USERNAME%,再进行测试,结果运行成功。但是我的初衷是希望每个用户可以使用各种用户名下的批处理来处理目录的,这样子就只能使用一个特定用户的批处理了。
我就怀疑%USERNAME%是不是全局变量?但我在CMD下用echo %USERNAME%的确能够输出具体的登录用户名,而且我发现一些注册表项的数据用用到%SYSTEMROOT%这个全局变量。
所以就想请假高手们如何在注册表中的键值中使用全局变量? |
-
1
评分人数
-
|