原帖由 more 于 2008-7-30 20:25 发表
不知道这样是否正确?@echo off
set "str=13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 2 3 4 5 6 7 8 9 10 11 12"
:again
for /f "tokens=1,2,4*" %%a in ("%str%") do (
if not "%%c"=="" (set "s ...
思路是好的,但代码不通用,因为for /f "tokens=*" 是有个极限值tokens=31的,
运行以下的代码就会明白:
- @echo off
- for /l %%i in (1,1,32) do call,set str=%%str%% a
- for /f "tokens=31" %%i in ("%str%") do echo %%i
- for /f "tokens=32" %%i in ("%str%") do echo %%i
- pause>nul
复制代码
可能大家会说这里tokens=1,2,4*是个循环,根本不涉及到最大tokens值的问题,
是的,本题是不会出现这个tokens最大值的问题,但如果将退出数增加到31以上呢?
如总人数为100,数到50的人退出,这样的代码将无法运行。
|