我是做batman的题时遇到的,先来看两段代码:
代码1(from tab):- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1,2,3 delims=- " %%i in (a.txt) do (
- for /f "tokens=1,2 delims= " %%a in (b.txt) do (
- set var=%%a0000
- set var=!var:~0,7!
- if !var! geq %%i if !var! leq %%j if %%b neq %%k echo %%a %%b >>c.txt
- )
- )
复制代码
代码2(me):- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=- tokens=1,2,3" %%i in (a.txt) do (
- for /f "tokens=1,2 delims= " %%a in (b.txt) do (
- set var=%%a0000
- set var=!var:~0,7!
- if !var! geq %%i if !var! leq %%j if %%b neq %%k echo %%a %%b >>c.txt
- )
- )
复制代码 观察发现,循环体没错,就第一个for循环处的delims跟tokens位置不一样,但是运行代码后就得出了两个不同的结果,代码1是正确的,代码2运行的结果却出错。
代码2结果:- 721 古岳峰
- 721 淦田
- 721 白关
- 721 雷打石
- 723 砖桥
- 723 古岳峰
- 7257 仙井
- 7257 淦田
- 7257 县城
- 72581 淦田
- 72581 砖桥
- 7276 砖桥
- 7276 朱亭
- 7276 雷打石
- 7276 县城
- 7276 砖桥
- 7276 朱亭
- 7276 雷打石
- 7276 县城
- 728 朱亭
- 728 白关
- 728 砖桥
- 7296 朱亭
- 7348 淦田
- 7348 砖桥
- 7348 朱亭
- 7348 仙井
- 7373 雷打石
- 7373 古岳峰
- 7373 县城
- 7373 白关
- 7375 古岳峰
- 7375 淦田
- 7456 雷打石
- 7456 白关
- 7456 古岳峰
- 7473 淦田
- 7473 白关
- 7473 仙井
- 748 白关
- 748 仙井
- 7496 仙井
- 7496 白关
- 7496 县城
- 7496 雷打石
- 761 仙井
- 761 县城
- 761 白关
- 761 朱亭
- 7672 县城
- 7672 仙井
- 7693 县城
- 7693 仙井
复制代码
[ 本帖最后由 sgaizxt001 于 2010-1-25 03:30 编辑 ] |