再修改下,能正确输出1,2,3、、、、100。- @echo off&setlocal enabledelayedexpansion
- cd.>a.txt
- set/a r=%random%,d=!random!,n=-1
- for /l %%a in (1 1 100) do set "_!random!!random!=%r%%%a%d%"
- for /f "tokens=2 delims==" %%i in ('set _') do echo>>a.txt %%i
- set /p str=<a.txt
- :loop
- set/a n+=1,m+=1
- for /f "delims=" %%a in (a.txt) do (
- set "var=%%a"
- if "!var:~%n%,1!" neq "!str:~%n%,1!" if not defined x set "x=%n%"
- if "!var:~-%m%,1!" neq "!str:~-%m%,1!" if not defined y set "y=%m%"
- set "str=%%a"
- )
- for %%a in (x y) do if not defined %%a goto loop
- set/a y-=1
- for /f "delims=" %%i in (a.txt) do (
- set "var=%%i"
- echo !var:~%x%,-%y%!
- )
- pause>nul
复制代码
[ 本帖最后由 pusofalse 于 2008-10-17 18:28 编辑 ] |