使用Windows批处理脚本将文本文件拆分为多个文件

use*_*605 5 windows split file batch-file

我需要使用Windows批处理脚本将一个文本文件拆分成多个文件,任何人都可以点亮我吗?

示例文本文件:

abc1-10
abc1-11
abc1-12
xyz2-01
xyz2-02
xyz3-01
xyz3-02
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它必须分成3个文件,第一个包含行abc1-xx,第二个包含行,xyz2-xx然后xyz3-xx转到最后一个

fth*_*lla 6

您可以使用批处理文件,但为什么不使用FINDSTR命令?

findstr /R "^abc1-" sample.txt > file1.txt
findstr /R "^xyz2-" sample.txt > file2.txt
findstr /R "^xyz3-" sample.txt > file3.txt
Run Code Online (Sandbox Code Playgroud)


小智 6

使用cgwin命令SPLIT.

样品:

-split一个文件每500行计数:

      split -l 500 [filename.ext]
Run Code Online (Sandbox Code Playgroud)

更多:split --help


fox*_*ive 5

这可能会有所帮助 - 它会将文本拆分为单独的文件

abc1.txt
xyz2.txt
xyz3.txt

@echo off
for /f "tokens=1,* delims=-" %%a in ('type "file.txt"') do (
>>"%%a.txt" echo(%%a-%%b
)
pause
Run Code Online (Sandbox Code Playgroud)