![Rank: 2](images/default/star_level2.gif)
- 帖子
- 3
- 积分
- 173
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2008-6-17
|
批处理for的嵌套循环
先来看小弟的一段“呆马”:
@if not defined dbug echo off
set v=a;b;c;d;e
echo %v%>v.txt
for /l %%a in (1,1,5) do (
for /f "tokens=%%a delims=;" %%i in (v.txt) do echo %%i
)
运行结果:
%a delims=;" was unexpected at this time.
%a delims=;" was unexpected at this time.
%a delims=;" was unexpected at this time.
%a delims=;" was unexpected at this time.
%a delims=;" was unexpected at this time.
看来"tokens=%%a"是不支持for中嵌套的变量的,于是乎,我改为:
@if not defined dbug echo off
setlocal EnableDelayedExpansion
set i=0
set v=a;b;c;d;e
echo %v%>v.txt
for /l %%a in (1,1,5) do (
set i=%%a
echo !i!
for /f "tokens=%i% delims=;" %%i in (v.txt) do echo %%i
)
运行结果:
1
delims=;" was unexpected at this time.
2
delims=;" was unexpected at this time.
3
delims=;" was unexpected at this time.
4
delims=;" was unexpected at this time.
5
delims=;" was unexpected at this time.
还是不行啊,快来帮帮我吧,高手们! |
|