Board logo

标题: 请教批处理中变量赋值的问题[菜鸟在线等] [打印本页]

作者: slam     时间: 2007-7-5 16:20    标题: 请教批处理中变量赋值的问题[菜鸟在线等]

我的ini文件内容为:
aaa=1
bbb=2
ccc=3

批处理内容为:
@echo off
::参数配置文件名
set filepath="rules.ini"
::参数配置文件中的块名
set section=Rules

set aa=123

if not exist %filepath% goto :file_err

::命令延迟,一直保留到批处理结束或遇到endlocal
setlocal EnableDelayedExpansion

endlocal&set set "section=%section%"

::usebackq:使用反引号`,用它括起的内容为命令
::delims=[]:以[]为字词分隔符
::skip=2:跳过所有空白行
::分析init.ini文件,找到parameters标签所在的行号
for /f "usebackq delims=[] skip=2" %%i in (`find /i "%section%" /n %filepath%`) do set 字段开始=%%i
::if "%字段开始%"=="" goto :end

::eol=;:指定由;到行尾为注释
::delims==:指定以=分隔符
::`type执行输入命令
for /f "eol=; usebackq tokens=2* skip=%字段开始% delims==" %%i in (`type %filepath%`) do (
        echo ii:%%i%
::在此处已经能显示ii为1,2,3了,现在我想拼成一个“123”的字符串,并写到当前会话的环境变量里去,应该怎么作啊?
)

goto :end

:file_err
echo.
echo 参数配置文件init.ini没有找到。
echo.

:end


在注释处已经能显示ii为1,2,3了,现在我想拼成一个“123”的字符串,并写到当前会话的环境变量里去,应该怎么作啊?
作者: slam     时间: 2007-7-5 16:33
为什么我在最后一个for里面用set var=%%i不起作用呢??