回复 11# 牛二和尚 - @echo off & setlocal enabledelayedexpansion
-
- :main
- if not exist b md b
- call:fopen A.txt text
- set /A len=fopen_len-1
- dir b\*.txt /B >txt.tmp
- call:fopen txt.tmp names
- for /L %%i in (0,2,%len%) do call:out %%i
- del txt.tmp
- pause
- goto:eof
-
- :fopen
- rem %~1 为读取文件名,%~2为储存的变量名
- rem 采用数组的方式储存,不储存换行符
- rem 若无%~2,使用%~n1作为储存的变量名
- set fopen_file=%~1
- if "%~2"=="" ( set "fopen_vale=%~n1" ) else ( set "fopen_vale=%~2" )
- set fopen_len=0
- for /F "tokens=1* delims=:" %%i in ('findstr /n .* %fopen_file%') do (
- set %fopen_vale%[!fopen_len!]=%%j
- set /A fopen_len+=1
- )
- goto:eof
-
- :out
- set /A next=%~1+1
- set /A num=%~1/2
- set "name=!names[%num%]!"
- if "%name%"=="" (
- echo the text is too long
- echo=!text[%~1]!,!text[%next%]!
- goto:eof
- )
- echo=!text[%~1]!>>b\%name%
- echo=!text[%next%]!>>b\%name%
- goto:eof
复制代码 固定添加到结尾。有一个小bug——如果b文件夹内的txt文档的数目不够将提示复制代码 |