Windows批处理拆分txt文件

批处理程序逐行读取同级目录下的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

代码片段。

Windows批处理拆分txt文件_第1张图片

实例

Windows批处理拆分txt文件_第2张图片

效果图

按行数区间导出的方法

@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。

你可能感兴趣的:(运维,batch)