简体   繁体   中英

Split text file into multiple files using windows batch scripting

I need to split one text file into multiple files using windows batch script, could anybody light me up?

sample text file:

abc1-10
abc1-11
abc1-12
xyz2-01
xyz2-02
xyz3-01
xyz3-02

in this case, it has to split into 3 files, first one consists the lines abc1-xx , second one consists xyz2-xx and xyz3-xx go to the last one

You could use a batch file, but why not just use FINDSTR command?

findstr /R "^abc1-" sample.txt > file1.txt
findstr /R "^xyz2-" sample.txt > file2.txt
findstr /R "^xyz3-" sample.txt > file3.txt

Use the cgwin command SPLIT.

Samples:

-split a file every 500 lines counts:

      split -l 500 [filename.ext]

For more: split --help

This may help - it will split the text into separate files of

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM