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

[文件操作] 【已结】自动分组合并大量txt文件的批处理 急求

求自动分组合并大量txt文件的批处理 急求 工作要用 谢谢大家了。
  
在一个文件夹内有大量的txt文件(个数不定) 以时间命名个数是6的倍数,我现在想以6个文件为一组按顺序合并txt文件合并后的名字为1.csv,2.csv...等以此类推,请批处理高手帮帮忙。万分感谢!!!求求好人了。着急用

[ 本帖最后由 fxcool 于 2009-1-6 15:43 编辑 ]

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
  3.     set /a n+=1,m=n%%6
  4.        if !m! equ 0 (
  5.        set/a Files+=1
  6.        copy !num!"%%i" !Files!.csv >nul 2>nul
  7.        set num=
  8.     ) else set num=!num!"%%i"+
  9.   )
  10. if not "!num!" =="" set/a Files+=1&copy !num:~,-1! !Files!.csv >nul 2>nul
  11. pause
复制代码

TOP

随风版主的 脚本 完美运行 , 管理员大人的脚本 提示找不到文件无法运行,再次感谢你们。

TOP

回复 9楼 的帖子

没人回答,可能是因为你的问题描述不清,但这绝对不是重复发帖的理由,建议下次注意^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢 谢谢大哥们 我一会上班去测试  要是好用能节省我好几天时间 再次感谢

TOP

呵呵 我就是因为前面那个没有人回答才改问这个 。。。怎么也比手工弄强一点 谢谢大哥了。

TOP

  请测试这个代码:
  1. @echo off
  2. set num=1
  3. cd.>1.csv
  4. setlocal enabledelayedexpansion
  5. for /f %%i in ('dir /a-d /b *.txt') do (
  6.     copy !num!.csv+%%i !num!.csv>nul&&(
  7.         echo.>>!num!.csv
  8.         set /a num1+=1
  9.     )
  10.     if !num1! equ 6 (
  11.         set num1=0
  12.         set /a num+=1
  13.         cd.>!num!.csv
  14.     )
  15. )
  16. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

谢谢 。要是好用那就太好了

TOP

楼主不会举一反三啊,这和你前面那一帖几乎是一样的。。。
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set /a m=1
  3. for /f "delims=" %%a in ('dir/b *.txt') do (
  4.    set /a n=n%%6+1
  5.    if not exist "!m!\" md "!m!"
  6.    move "%%a" "!m!"
  7.    if !n! equ 6 set /a m+=1
  8. )
  9. pause
复制代码
技术问题请到论坛发帖求助!

TOP

未测试。。。
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set /a m=1
  3. for /f "delims=" %%a in ('dir/b *.txt^|sort') do (
  4.    set /a n=n%%6+1
  5.    type "%%a">>!m!.csv
  6.    if !n! equ 6 set /a m+=1
  7. )
  8. pause
复制代码
技术问题请到论坛发帖求助!

TOP

同一文件夹内很多的文本文件想按个数分开请给个代码 谢谢

同一文件夹内很多的文本文件文件个数是6的倍数,想每6个文件一组(不能重复)单独放到一个文件夹内(文件夹名字没要求别重复了就行)就是6个文件放一个文件夹,下6个文件放另一个文件夹 请高人给个代码好吗?

TOP

是文件夹内所有文件都合并 就是按顺序开始 每6个文件合并成一个文件 合并后自动改个后缀名 1.csv之类的名字就可以了。不是任意的 是要按顺序 从前往后合  谢谢。。。文件名就是很有规律的很长的类似  : 200808010000-200808312359.csv

TOP

  是不是所有的txt文件都要拿来合并?如果不是所有的都要合并,要排除哪些?以时间命名,具体格式如何?以6个文件为一组合并,是不是任意6个就可以?合并的格式有没有什么要求?

  虽然你很着急,但是,条件如此模糊,叫别人如何帮你?
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表