本帖最后由 jzp820927 于 2012-9-11 11:08 编辑
代码如下:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (1.txt) do (
- set c=%%i
- echo %%i|find "-">nul&&set jg=true
- if "!jg!"=="true" (
- for /f "tokens=1,2 delims=-" %%i in ("!c!") do set one=%%i&&set two=%%j
- for /l %%i in (!one!,1,!two!) do echo %%i
- ) else (
- echo %%i
- ))
- pause
复制代码 1.txt 内容如下:
1
2-4
6
8
5-7
9
要输出的结果是:用for循环遍历1.txt 文件,遇到单个数字直接输出,遇到2个数字中间带-的,按递增的顺序连续输出,比如2-4,就分开输出3行 2,3,4,一直输出到1.txt 文件结尾为止。
按上面我的代码处理1.txt后,我想要的结果应该是:
1
2
3
4
6
8
5
6
7
9
但实际结果不是这样,求助高手帮忙查找代码问题所在,或者哪个高手有更好的代码实现这个功能,也不吝赐教,非常感谢! |