[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求个批量合并文件夹下所有TXT的批处理

合并完 可以自定义在每行后加文字 每个TXT大概500行 一共10到30个txt 有重复的同行数字 需要去除

[attach]11387[/attach]

TOP

合并后是这样的效果 同行数字没有重复的 加后缀@qq.com

TOP

回复 4# rack

合并后的文件是空的  最好你能在本目录下 不用指定其他目录

TOP

回复 6# rack


合并后的文件都是空的 没有内容

TOP

回复 8# xczxczxcz
  


估计是

TOP

回复 10# xczxczxcz


大神 回车无反应

TOP

回复 12# Batcher


大神  代码不知道什么错误  会把路径都带上了

TOP

回复 11# xczxczxcz

6666666666 没什么问题  就是感觉稍微有点慢

TOP

回复 11# xczxczxcz


对了不知为何 合并的衔接处 第一行会有个乱码 文字

TOP

回复 19# Batcher

可以啦 可以啦  真是大神 都是编码的问题  不知为何TXT都是utf-8格式

能不能有个提前都把TXT调整成  ANSI格式的 批处理

TOP

回复 17# xczxczxcz


感谢 感谢 一个个测试了 确实是 格式的问题

TOP

回复 22# xczxczxcz


@echo off

for /f "delims=" %%a in ("%~1\..") do set "保存位置=%%~fa"
cd.>"%保存位置%\合并.txt"
set /p 添加文字= 输入你要在每行末尾添加的字符并回车:
for /f "delims=" %%a in ('dir/b "%~1\*.txt"') do (
   iconv -c -s -f utf-8 -t gbk "%~1\%%a">"%~1\%%a.tmp"
      for /f "delims=" %%i in ('type "%~1\%%a.tmp"') do (
              set/p=合并文本   → %%i <nul
                  if not defined %%i (echo.&echo %%i%添加文字%>>"%保存位置%\合并.txt") else echo ——重复
                  set "%%i=#"
                )
        )
echo.
del /q "%~1\*.tmp"
set/p=文件保存在 [%保存位置%] 目录下<nul & pause & exit

@echo off
setlocal enabledelayedexpansion
set filenames=0
set numbers=0
set 每个文件几个帐号=1000
set filename=1
for /f "delims=" %%a in (合并.txt) do (
        set /a numbers+=1
        set /a filenames+=1
        echo %%a>>!filename!.txt
        if !numbers! geq !每个文件几个帐号! (
                set /a filename+=1
                set numbers=0
                )
)

大神请教下 如何把这两个合并一起使用啊   我合并后没什么作用   本意就是 之前合并去重后再把这个文本按照每个1000行分成多个TXT  最好自定义命名

TOP

回复 22# xczxczxcz


你说的那个编码问题都解决  感谢

TOP

回复 25# xczxczxcz

  不违法 哈哈 运行后没有什么反应...

TOP

返回列表