中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 13:58
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教批处理中变量赋值的问题[菜鸟在线等]
可打印版本  684 / 1
第1楼 slam 发表于 2007-07-05 16:20
新手上路 发帖 7 积分 18
请教批处理中变量赋值的问题[菜鸟在线等]
我的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楼 slam 发表于 2007-07-05 16:33
新手上路 发帖 7 积分 18
为什么我在最后一个for里面用set var=%%i不起作用呢??
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023