中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教批处理中变量赋值的问题[菜鸟在线等]
作者:
标题: 请教批处理中变量赋值的问题[菜鸟在线等] 上一主题 | 下一主题
slam
新手上路





积分 18
发帖 7
注册 2007-6-30
状态 离线
『楼 主』:  请教批处理中变量赋值的问题[菜鸟在线等]

我的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”的字符串,并写到当前会话的环境变量里去,应该怎么作啊?

2007-7-5 16:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slam
新手上路





积分 18
发帖 7
注册 2007-6-30
状态 离线
『第 2 楼』:  

为什么我在最后一个for里面用set var=%%i不起作用呢??

2007-7-5 16:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: