中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 16:01
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » DOS/for中循环变量向其他变量赋值失败,何故?
可打印版本  971 / 3
第1楼 zeroflag 发表于 2008-09-06 15:03
新手上路 发帖 2 积分 6
DOS/for中循环变量向其他变量赋值失败,何故?
设有文件my.txt,内容为:
------------------------------------------------
sys,svr1,.baidu.com,note1
sys,svr2,.yahoo.com.cn,note2
. . . . . .
------------------------------------------------

想用DOS批处理for读出每行各项,并赋值给其他变量,但失败,详见如下:

for /f "usebackq tokens=1,2,3,4 delims=," %%i in ("my.txt") do (

rem 此行正确执行,显示:
echo i=%%i, j=%%j, k=%%k, l=%%l

rem 但下述:循环变量(%%i,%%j)对其他变量(%fullsvrname%,
rem %tmp_i%等)赋值均失败(并无任何错误显示,只是echo变量,
rem 全为空):

set fullsvrname=%%j%%k
set tmp_i=%%i
set tmp_j=%%j

rem 显示"空"
echo fullsvrname=%fullsvrname%
echo tmp_i=%tmp_i%, tmp_j=%tmp_j%
)

为何如此?有什么办法可以实现赋值?
-----
如能回答回复至:zeroflag@msn.com 将十分感谢。
第2楼 HAT 发表于 2008-09-06 15:20
版主 发帖 5,017 积分 9,023
第3楼 zeroflag 发表于 2008-09-06 18:57
新手上路 发帖 2 积分 6
Originally posted by HAT at 2008/9/6 04:20 PM:
第4楼 HAT 发表于 2008-09-06 19:10
版主 发帖 5,017 积分 9,023
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023