中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-28 15:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教批处理中变量赋值的问题[菜鸟在线等] 查看 643 回复 1
楼 主 请教批处理中变量赋值的问题[菜鸟在线等] 发表于 2007-07-05 16:20 ·  中国 新疆 乌鲁木齐 电信
新手上路
积分 18
发帖 7
注册 2007-06-30 16:18
19年会员
UID 92776
性别 男
状态 离线
我的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”的字符串,并写到当前会话的环境变量里去,应该怎么作啊?
2 发表于 2007-07-05 16:33 ·  中国 新疆 乌鲁木齐 电信
新手上路
积分 18
发帖 7
注册 2007-06-30 16:18
19年会员
UID 92776
性别 男
状态 离线
为什么我在最后一个for里面用set var=%%i不起作用呢??
论坛跳转: