忘了将自己findstr的方案贴出来了
效率应该比楼上的代码好一点- @echo off
- setlocal EnableDelayedExpansion
- (for /l %%i in (10000,1,19999) do set v=%%i&echo !v:~1!)>arr.tmp
-
- set class1=8888
- (echo %class1%)>class1.txt
- findstr /v "%class1%" < arr.tmp > arr2.tmp
-
- set class2=.888
- set class2=%class2% 0123 1234 2345 3456 4567 5678 6789
- set class2=%class2% 9876 8765 7654 6543 5432 4321 3210
- set class2=%class2% 0000 1111 2222 3333 4444 5555 6666 7777 9999
- findstr "%class2%" < arr2.tmp > class2.txt
- findstr /v "%class2%" < arr2.tmp > arr3.tmp
-
- set class3-1=..88
- set class3-1=%class3-1% .000 .111 .222 .333 .444 .555 .666 .777 .999
- set class3-1=%class3-1% .012 .123 .234 .345 .456 .567 .678 .789
- set class3-1=%class3-1% .210 .321 .432 .543 .654 .765 .876 .987
- findstr "%class3-1%" < arr3.tmp > class3-1.tmp
- set class3-2a=00.. 11.. 22.. 33.. 44.. 55.. 66.. 77.. 88.. 99..
- set class3-2b=..00 ..11 ..22 ..33 ..44 ..55 ..66 ..77 ..99
- findstr "%class3-2a%" < arr3.tmp | findstr "%class3-2b%" > class3-2.tmp
- set class3-3a=0.0. 1.1. 2.2. 3.3. 4.4. 5.5. 6.6. 7.7. 8.8. 9.9.
- set class3-3b=.0.0 .1.1 .2.2 .3.3 .4.4 .5.5 .6.6 .7.7 .8.8 .9.9
- findstr "%class3-3a%" < arr3.tmp | findstr "%class3-3b%" > class3-3.tmp
- copy /b class3-?.tmp class3.txt >nul
- findstr /v /g:class3.txt < arr3.tmp > arr4.tmp
-
- set class4-1=...8
- set class4-1=%class4-1% ..00 ..11 ..22 ..33 ..44 ..55 ..66 ..77 ..99
- findstr "%class4-1%" < arr4.tmp > class4-1.tmp
- set class4-2a=.00. .11. .22. .33. .44. .55. .66. .77. .88. .99.
- set class4-2b=0..0 1..1 2..2 3..3 4..4 5..5 6..6 7..7 9..9
- findstr "%class4-2a%" < arr4.tmp | findstr "%class4-2b%" > class4-2.tmp
- copy /b class4-?.tmp class4.txt >nul
- findstr /v /g:class4.txt < arr4.tmp > class5.txt
-
- del *.tmp
复制代码
|