Board logo

标题: [文本处理] 求助:批处理命令type合并文本变成合并+复制? [打印本页]

作者: pcisong    时间: 2023-2-10 17:40     标题: 求助:批处理命令type合并文本变成合并+复制?

问题:
文本文件为客户提供的,数据几千万条。
使用type命令合并多个文本文件内容后,内容为合并+复制。
例如:
文本内容:
1
2
3
type命令:type *.txt>>1.txt
生成1.txt内容应当为:
1
2
3
实际生成文件内容是:
1
2
3
1
2
3
问题点:如果是多个文本,则合并内容后同样是重复1次,有时候会出现复制3次。

如果是新建的文本则没有这种现象,将客户提供的文本文件内容清空后随意输入内容后使用type命令合并,仍然有这种复制现象。

附件无法上传,做了网盘链接,请帮我看一下哪里出了问题。

链接: https://pan.baidu.com/s/1kUNPV7fPc54esyfb7etBLw?pwd=p88a 提取码: p88a
作者: 77七    时间: 2023-2-10 18:40

本帖最后由 77七 于 2023-2-10 18:43 编辑

直接输出到其它路径。
或者
  1. type *.txt>>1.tx
复制代码

合并完后把后缀名改成txt。
或者
  1. @echo off
  2. rem 目录不要存在名为1.txt的源文件
  3. cd.>1.txt
  4. for /f "delims=" %%i in ('dir /b /a-d *.txt ^| findstr /v /x "1.txt"') do (
  5.         >>1.txt type "%%i"
  6. )
  7. pause
复制代码

作者: terse    时间: 2023-2-10 20:41

楼主是不是除了1.txt, 其他所有文本内容全部合并到1.txt呢
作者: cnnetstar    时间: 2023-2-10 21:11

>生成, >>追加
好像是这样子的.
作者: Batcher    时间: 2023-2-10 22:08

回复 1# pcisong


把你的type.bat重命名为test.bat试试,参考Q-06:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
作者: pcisong    时间: 2023-2-12 11:34

回复 4# cnnetstar


    >和>>的效果是相同的,如果将客户的数据拷贝到一个新建的txt文件里,再执行type *.txt > 1.txt,就没有问题,所以我认为是客户的txt文件 属性问题,不是代码的问题。
作者: pcisong    时间: 2023-2-12 11:35

回复 3# terse


    原文件夹里没有1.txt,是我为了方便随便起的名,文件合并后需要重新命名。
作者: pcisong    时间: 2023-2-12 11:41

回复 2# 77七


    这个命令可以用,而且可以看到文件大小的变化,就是有点复杂,看不懂。

感谢大师!
作者: pcisong    时间: 2023-2-12 11:42

回复 5# Batcher


    好的,仔细阅读。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2