中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 为什么显示不出变量 上一主题 | 下一主题
ggaking
新手上路





积分 19
发帖 8
注册 2008-9-11
状态 离线
『楼 主』:  为什么显示不出变量

程序原意是显示注册表的NOD32的安装位置,由于得到的值:C:\Program Files\ESET\NOD32中间有空格,结果写了如下代码,得到的变量nodtemp结果是有的,可就是显示不了,怎么回事啊。请各位大大指教。

@echo off
for /f "skip=4 tokens=3,4,5,6" %%i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\ESET\Nod\CurrentVersion\Info /v InstallDir') do (
    if "%%l"=="" set nodtemp = "%%i %%j %%k"
    if "%%k"=="" set nodtemp = "%%i %%j"
    if "%%j"=="" set nodtemp = "%%i"
    if "%%i"=="" set nodtemp =
)
echo %nodtemp%
pause

2008-9-18 15:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ESET\Nod\CurrentVersion\Info" /v "InstallDir"') do (
  set NodL=%%a
  set NodR=%%b
)
set Nod=%NodL:~-1%:%NodR%
echo %Nod%




2008-9-18 15:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ggaking
新手上路





积分 19
发帖 8
注册 2008-9-11
状态 离线
『第 3 楼』:  

请二楼的HAT大大能不能解释一下set Nod=%NodL:~-1%:%NodR%,我不太明白,谢谢。

2008-9-18 15:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ggaking
新手上路





积分 19
发帖 8
注册 2008-9-11
状态 离线
『第 4 楼』:  

明白了,%NodL:~-1%:% 就是取NodL变量的后面开始的一位

谢谢HAT大大了。~~~

^_^

2008-9-18 15:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: