批处理程序逐行读取同级目录下的text1.txt中的内容,然后逐行输出至同级目录下的txt文件,每个文件以顺序号为文件名。
适用于拆分文件内容。比如:可以将数据库查询结果导出为txt文件,然后将每行单独生成txt文件存放。不同的文件发送给不同的对象。将过大的日志文件拆开阅读等。
@echo off& setlocal enabledelayedexpansion
for /f "delims=" %%1 in (text1.txt)do set /a wind+=1&& >!wind!.txt echo %%1
代码片段。
实例
效果图
按行数区间导出的方法
@echo off & setlocal enabledelayedexpansion
set /p filename=输入不带扩展名的文件名:
set /p row=输入步长:
set /a m=0,n=0
if exist %filename%-split-*.txt (del %filename%-split-*.txt)
for /f "delims=" %%l in (%filename%.txt) do (
set /a m=n/row+1,n+=1
set "line=%%l"
setlocal enabledelayedexpansion
echo !line!>>%filename%-split-!m!.txt
endlocal
)
pause
以上代码意思是根据输入的文件及行数(步长),将文件按总行数除以步长得到的个数进行拆分,如:一个1万行的文件,按2000行一个文件的条件,拆分成5个txt。