Window下批处理分割txt、csv等文件

Window下批处理分割txt、csv等文件

日常工作中常遇到大文件,无法打开、无法编辑的情况。

一般在 Linux 下可通过 split -l -d -a file.txt 的命令直接进行分割为多个文件。

但有时在 Window 下也有同样的需求,遂产生如何分割的想法?

一、批处理:按每行分割

将以下脚本与待处理文件复制同一目录下,双击执行即可生成。

@echo off& setlocal enabledelayedexpansion

for /f "delims=" %%1 in (test.csv)do set /a wind+=1&& >!wind!.csv echo %%1

二、批处理:按N行分割

可通过输入需要切分的行数,自动分割为多个文件。

@echo off

color 0a

echo Please enter a number:

set /p n=

powershell -c "$n=1;$m=1;gc 'test.csv'|%%{$f=''+$m+'.csv';$_>>$f;if($n%%%n% -eq 0){$m++};$n++}"

pause

三:批处理:按需分割

可输入不带后缀名的文件名,已经需要分割的行数,自动分割为多个文件。

@echo off & setlocal enabledelayedexpansion

set /p filename=Please enter file name without suffix:

set /p row=Enter a number:

set /a m=0,n=0

if exist %filename%-split-*.csv (del %filename%-split-*.csv)

for /f "delims=" %%l in (%filename%.csv) do (

set /a m=n/row+1,n+=1

set "line=%%l"

setlocal enabledelayedexpansion

echo !line!>>%filename%-split-!m!.csv

endlocal

)

pause

参考链接1:windows 批处理分割txt大文件

参考链接2:Windows批处理拆分txt文件