求做一个txt文本排列的批处理

来源:百度知道 编辑:UC知道 时间:2024/09/25 22:17:48
求关于TXT文本分等份的批处理的问题(不好意思我又来了,老板要求多。。没办法,嘿嘿。。)
假设我有个名字为a.txt文本文件里面有这样的数据:排列格式为左对齐,无空行
02,05,11,17,26,31
02,05,11,17,28,31
02,05,11,19,26,31
02,05,11,19,28,31
02,05,11,19,29,30
02,05,11,19,32,33
02,05,13,23,26,27
02,05,13,23,26,33
02,05,13,23,28,31
02,05,13,23,28,33
02,05,13,23,29,30
02,05,13,27,32,33
02,05,14,23,26,33
02,05,14,23,29,33
02,05,14,27,32,33
02,05,16,23,26,30
。。。。。。

有600多组这样的数据,那么,老板这样要求:
1.分成4~8等分,分别保存在名称为1,2,3,4,5,6,7,8的文本文件里面,数据格式不变!
2.假设a.txt文件里面,如果有20组数据,分成5等分,那么

第1组数据,分到1.txt文本文件
第2组数据,分到2.txt文本文件
第3组数据,分到3.txt文本文件
第4组数据,分到4.txt文本文件里面
第5组数据,分到5.txt文本里面
第6组数据,分到1.txt文本里面
第7组数据,分到2.txt文本里面
第8组数据,分到3.txt文本里面
。。
数据多了就这样循环
然后生成
1.txt 2.txt 3.txt 4.txt 5.txt文本文件。原文件a.txt保持不动,分出来的总的组数,和原文件a.txt一样,不能少任何一组。

有时要分成3分,4分。最多差不多到8份。。。

最好在

把以下代码保存为批处理,之后把要分割的文件拖放到这个批处理中,然后输入一个数字,然后它就会生成文件中,生成的文件在这个批处理所在的路径下。
你试验一下吧。测试通过。。。

@ECHO OFF
COLOR 0a
set /p inputCounts=[请输入分数]
SETLOCAL ENABLEDELAYEDEXPANSION
set counts=1
for /f "tokens=*" %%a in (
'FINDSTR .* "%~1"'
) do (
echo 正在输出将 %%a 输出到 文件 !counts!.txt 中。。。
echo %%a>>"%~dp0!counts!.txt"
if "!counts!" neq "%inputCounts%" (
set /a counts=!counts!+1
) else (
set counts=1
)
)
ENDLOCAL
COLOR a0
echo ==========================
echo 输出完毕。。。
echo ==========================
PAUSE

换个思路,用软件Replace Pioneer解决,很快很容易,而且一目了然。详细步骤(以分成4个文件为例,其他类同):

第一步:把每4组合成一行
第1组 第2组 第3组 第4组
第5组 第6组 第7组 第8组
.......

第二步:按列分割文件,那么:
1.txt 包括:
第1组
第5组
第9组
...
2.txt 包括:
第2组
第6组
...

=======================
怎样用Replac