标题: 为什么显示不出变量
[打印本页]
作者: ggaking
时间: 2008-9-18 15: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
作者: HAT
时间: 2008-9-18 15:16
@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%
作者: ggaking
时间: 2008-9-18 15:27
请二楼的HAT大大能不能解释一下set Nod=%NodL:~-1%:%NodR%,我不太明白,谢谢。
作者: ggaking
时间: 2008-9-18 15:39
明白了,%NodL:~-1%:% 就是取NodL变量的后面开始的一位
谢谢HAT大大了。~~~
^_^