中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 00:03
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 右键调用非exe文件只能用绝对路径吗?
可打印版本  1,109 / 12
第1楼 eech 发表于 2007-06-14 16:13
高级用户 发帖 346 积分 906
右键调用非exe文件只能用绝对路径吗?
C:\WINDOWS\system32中有"重启.vbs"
-----------------------------------
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\重启(&Z)\command

字符值为:
wscript.exe "C:\WINDOWS\system32\重启.VBS" "%L"
可正常调用
-----------------------------------

如改为以下都会报错:

wscript.exe "重启.VBS" "%L"

wscript.exe "%systemboot%\system32\重启.VBS" "%L"

wscript.exe %systemboot%\system32\重启.VBS "%L"

%systemboot%\system32\重启.VBS

可以用变量的名称来代替吗?还是只能用绝对路径名来调用?
第2楼 zh159 发表于 2007-06-14 16:31
金牌会员 发帖 1,467 积分 3,687
不指定路径,如何查找该文件并执行

wscript.exe 的路经因为是在系统的默认变量路径里面,所以不用定义路径,系统会在默认变量路径里面寻找执行
第3楼 eech 发表于 2007-06-14 16:36
高级用户 发帖 346 积分 906
2楼的朋友,这话可不对了,如何你在system32放任意一个exe文件也可以调用 的!你可以试试
第4楼 slore 发表于 2007-06-14 19:17
铂金会员 发帖 2,478 积分 5,212
那个%L不用了吧?

可以使用环境变量……类型用可扩充字符串REG_EXPAND_SZ
第5楼 zh159 发表于 2007-06-14 19:33
金牌会员 发帖 1,467 积分 3,687
system32放任意一个exe文件当然是可以调用的,命令行下看看set的Path=......就知道了
环境变量试试楼上的
第6楼 eech 发表于 2007-06-14 21:06
高级用户 发帖 346 积分 906
我在系统变量中添加了
--------------------------------
变量名:重启.vbs
变量值:%SystemRoot%\system32\
---------------------------------
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\重启(&Z)\command

字符值为:
wscript.exe "重启.VBS" "%L"

当前系统有效,可在新装的系统中却出错,大致提示“当前路径找不到重启.VBS”
实在是搞不懂????
第7楼 zh159 发表于 2007-06-14 21:15
金牌会员 发帖 1,467 积分 3,687
注册表:HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\重启(&Z)\command,新建“可扩充字符串值”
wscript.exe %SystemRoot%\system32\重启.vbs

[ Last edited by zh159 on 2007-6-14 at 09:17 PM ]
第8楼 eech 发表于 2007-06-14 21:39
高级用户 发帖 346 积分 906
提示没有文件没有关联?
可扩充字符串值,是默认的名字吗?
第9楼 slore 发表于 2007-06-14 21:41
铂金会员 发帖 2,478 积分 5,212
...........

附件
未命名.JPG (7.11 KiB)
第10楼 eech 发表于 2007-06-14 21:43
高级用户 发帖 346 积分 906
完全按你说的做了,可就是提示没有关联

[ Last edited by eech on 2007-6-14 at 09:48 PM ]

附件
Snap1.jpg (29.42 KiB)
第11楼 slore 发表于 2007-06-14 22:04
铂金会员 发帖 2,478 积分 5,212
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\Shell\重启(&Z)\command]
@=hex(2):77,00,73,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,20,\
00,22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,\
25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,cd,91,2f,\
54,2e,00,56,00,42,00,53,00,22,00,20,00,22,00,25,00,4c,00,22,00,00,00
第12楼 slore 发表于 2007-06-14 22:05
铂金会员 发帖 2,478 积分 5,212
要修改的是默认……

你的"新值"要系统怎么认?
第13楼 eech 发表于 2007-06-14 23:03
高级用户 发帖 346 积分 906
又在虚拟机中装了一次,这下搞掂,非常感谢!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023