|
|
发表于 2015-2-22 23:39:30
|
显示全部楼层
本帖最后由 tmplinshi 于 2015-2-22 23:46 编辑
速度不是很快。注意备份原文件!最好先测试。- @echo off
- cd /d "D:\数据" || (pause & exit /b)
- for /f "delims=" %%f in ('dir /a:-d /b *.txt') do (
- set txtFile=%%f
- setlocal enabledelayedexpansion
-
- REM 将文本每一行赋值到伪数组
- set /a n=0, max=0
- for /f "usebackq" %%i in ("!txtFile!") do (
- set /a n += 1
- set v.!n!=%%i
- )
- set /a max=n
-
- REM 生成所有组合
- set /a end=max-3+1
- (for /l %%a in (1, 1, !end!) do (
- set /a start=%%a+1, end=max-1
- for /l %%b in (!start!, 1, !end!) do (
- set /a start=%%b+1
- for /l %%c in (!start!, 1, !max!) do (
- for /f "tokens=1-3" %%i in ("v.%%a v.%%b v.%%c") do (
- echo !%%i!!%%j!!%%k!))))) >.temp_file
-
- REM 去重复、输出结果至原文件
- (for /f %%i in (.temp_file) do (
- set "numbers=%%i"
- set "new="
- for %%n in (1,2,3,4,5,6,7,8,9,0) do (
- if "!numbers:%%n=!" neq "!numbers!" (
- set new=!new!%%n
- )
- )
-
- if not defined #!new! (
- set #!new!=#
- echo !new!
- )
- )) >"!txtFile!"
-
- endlocal
- )
- del .temp_file
复制代码 |
评分
-
查看全部评分
|