中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 22:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 右键调用非exe文件只能用绝对路径吗? 查看 1,108 回复 12
楼 主 右键调用非exe文件只能用绝对路径吗? 发表于 2007-06-14 16:13 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
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 发表于 2007-06-14 16:31 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
不指定路径,如何查找该文件并执行

wscript.exe 的路经因为是在系统的默认变量路径里面,所以不用定义路径,系统会在默认变量路径里面寻找执行
3 发表于 2007-06-14 16:36 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
2楼的朋友,这话可不对了,如何你在system32放任意一个exe文件也可以调用 的!你可以试试
4 发表于 2007-06-14 19:17 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
那个%L不用了吧?

可以使用环境变量……类型用可扩充字符串REG_EXPAND_SZ
5 发表于 2007-06-14 19:33 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
system32放任意一个exe文件当然是可以调用的,命令行下看看set的Path=......就知道了
环境变量试试楼上的
6 发表于 2007-06-14 21:06 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
我在系统变量中添加了
--------------------------------
变量名:重启.vbs
变量值:%SystemRoot%\system32\
---------------------------------
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\重启(&Z)\command

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

当前系统有效,可在新装的系统中却出错,大致提示“当前路径找不到重启.VBS”
实在是搞不懂????
7 发表于 2007-06-14 21:15 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
注册表: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 发表于 2007-06-14 21:39 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
提示没有文件没有关联?
可扩充字符串值,是默认的名字吗?
9 发表于 2007-06-14 21:41 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
...........
附件
未命名.JPG
10 发表于 2007-06-14 21:43 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
完全按你说的做了,可就是提示没有关联

[ Last edited by eech on 2007-6-14 at 09:48 PM ]
附件
Snap1.jpg
11 发表于 2007-06-14 22:04 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
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 发表于 2007-06-14 22:05 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
要修改的是默认……

你的"新值"要系统怎么认?
13 发表于 2007-06-14 23:03 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
又在虚拟机中装了一次,这下搞掂,非常感谢!
论坛跳转: