中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 10:47
47,814 主题排行 / 349,908 发帖 / 今日 0 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » [求助]这个问题我死都搞不定,FOR命令提取安装目录出错
可打印版本  898 / 11
第1楼 silanger 发表于 2008-09-15 04:46
初级用户 发帖 10 积分 22
[求助]这个问题我死都搞不定,FOR命令提取安装目录出错
我学着用FOR命令提取PROE的安装目录,可是总出错,

如我的PROE目录是在
[HKEY_LOCAL_MACHINE\SOFTWARE\PTC\Pro/ENGINEER\Wildfire 3.0\2007370]
"InstallDir"="D:\\Program Files\\proeWildfire 3.0"

我要提取PROE的安装目录:D:\Program Files\proeWildfire 3.0为变量值,
变量名为:WF,作为安装程序的路径,详细语句如下:

for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKLM\SOFTWARE\PTC\Pro/ENGINEER\Wildfire 3.0\2007370 /V InstallDir') do (
set WFPathL=%%a
set WFPathR=%%b
)
setWF=%WFPathL:~-1%:%WFPathR%

总是提示错误: 命令行参数太多,我想可能是FOR那句太长,可我不知道换行,请高手指点一下,给个正确的语句。多谢了
第2楼 lxmxn 发表于 2008-09-15 07:10
版主 发帖 4,938 积分 11,386

reg query "HKLM\SOFTWARE\PTC\Pro/ENGINEER\Wildfire 3.0\2007370" /V InstallDir


有空格的路径两边加引号。
第3楼 silanger 发表于 2008-09-15 08:46
初级用户 发帖 10 积分 22
Originally posted by lxmxn at 2008-9-15 07:10 AM:

reg query "HKLM\SOFTWARE\PTC\Pro/ENGINEER\Wildfire 3.0\2007370" /V InstallDir

有空格的路径两边加引号。


版大起得真早,你真是神人啊,一句话解决了问题,小妹在此叩谢了。
第4楼 huahua0919 发表于 2008-09-15 08:58
银牌会员 发帖 780 积分 1,608
小妹.......................
第5楼 silanger 发表于 2008-09-15 10:33
初级用户 发帖 10 积分 22
想再请教一下:
1、为什么要加引号啊,我其实不太懂批处理,只是依样画葫芦照搬,原来的语句没有引号,没想到出错了。
2、设置的这个变量只能在进程中有用,安装结束就没有用了。有什么命令能否将这个变量永久设置成WINDOWS里的环境变量啊??
还请楼上两位高手不吝赐教。

[ Last edited by silanger on 2008-9-15 at 10:49 AM ]
第6楼 huahua0919 发表于 2008-09-15 10:39
银牌会员 发帖 780 积分 1,608
当你提取的一行注册表路径中含有空格的时候就要加"号
HKLM\Software\Microsoft\Windows NT\....
上面的路径中又一项注册表值为 Windows NT,如果你不加"号,那么你提取的将是
HKLM\Software\Microsoft\Windows
上面的的值,而这个值-项在你的注册表中有可能不存在所以就报错了


而你的就是 Wildfire 3.0
第7楼 silanger 发表于 2008-09-15 10:51
初级用户 发帖 10 积分 22
Originally posted by huahua0919 at 2008-9-15 10:39 AM:
当你提取的一行注册表路径中含有空格的时候就要加"号
HKLM\Software\Microsoft\Windows NT\....
上面的路径中又一项注册表值为 Windows NT,如果你不加"号 ...


哦,谢谢你的耐心回复。
还有一个问题就是,我想将这个变量设置成WINDOWS里的永久环境变量,有什么命令可以做到吗??
第8楼 HAT 发表于 2008-09-15 11:16
版主 发帖 5,017 积分 9,023
"永久环境变量"是存放在注册表里面的

或者
第9楼 silanger 发表于 2008-09-15 11:36
初级用户 发帖 10 积分 22
谢谢楼上, 先试验一下。。。
第10楼 silanger 发表于 2008-09-15 11:46
初级用户 发帖 10 积分 22
Originally posted by HAT at 2008-9-15 11:16 AM:
"永久环境变量"是存放在注册表里面的
第11楼 qinanzong 发表于 2008-09-15 19:11
初级用户 发帖 18 积分 29
不错,这种小问题影响深远呀,支持,
第12楼 silanger 发表于 2008-09-16 11:24
初级用户 发帖 10 积分 22
Originally posted by HAT at 2008-9-15 11:16 AM:
"永久环境变量"是存放在注册表里面的
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023