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

[文件操作] 批处理怎样合并同名文件?

老师:能不能把“Base文件夹”下面的同名字的文件(后缀名不一样)合并成一个.TXT文件放到一个文件夹中?

回复 47# Batcher


哦!
就是说按照16楼的方法是做不到的。

TOP

回复 45# zhjg5961


    你把这些数字按照42楼的格式放在第四行就行了
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 terse 于 2013-6-17 20:07 编辑

楼主全部合并 可不可以这样?
改为直接COPY 遍历后缀001文件 -- copy
  1. @echo off
  2. rd 合并的文件 2>nul
  3. md 合并的文件 2>nul
  4. for %%i in (base\*.001) do (
  5. copy "Base\%%~ni.*" "合并的文件\%%~ni.txt
  6. )
  7. pause
复制代码
排序的话
感觉copy 比 TYPE 来的快些
  1. @echo off
  2. set "files=合并的文件"
  3. set "exts=base\*.002 base\*.010 base\*.005 base\*.001 base\*.014"
  4. rd /s /q %files% 2>nul
  5. md %files% 2>nul
  6. for /f "delims=" %%i in ('dir /b /a-d %exts%') do (
  7.      if exist "%files%\%%~ni.txt" (
  8.         copy /b "%files%\%%~ni.txt"+"base\%%i" "%files%\%%~ni.txt" >nul
  9.      ) else copy /b "base\%%i" "%files%\%%~ni.txt" >nul
  10. )
  11. pause
复制代码

TOP

回复 16# Batcher

老师:
这个程序(16楼的)拷贝合并出来后,我仔细看了,不是按顺序合并的,能不能做到从小到大的顺序排序合并。
即:001——002——003——004——005——006——007——008——009——010——011——012——013——014——015——016——f10这样排序。

TOP

回复 43# zhjg5961


    不用单独发私信。直接回复我的帖子就行了,论坛程序会提醒我的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 42# Batcher


谢谢老师!
我先试试,有问题再麻烦你。

TOP

回复 39# zhjg5961
  1. @echo off
  2. cd /d "%~dp0"
  3. md 拷贝并合并的文件 2>nul
  4. for %%i in (002 010 005 001 014) do (
  5.     for %%j in ("Base\*.%%i") do (
  6.         type "%%j" >> "拷贝并合并的文件\%%~nj.txt"
  7.         echo,>>"拷贝并合并的文件\%%~nj.txt"
  8.     )
  9. )
  10. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 36# xxpinqz

原来的文件名请不要改。

TOP

回复 35# Batcher

老师:为什么没有“拷贝并合并的文件”这个文件夹你编写的程序就不能用了呢?

TOP

回复 35# Batcher

老师:为什么没有“拷贝并合并的文件”这个文件夹你编写的程序就不能用了呢?

TOP

回复 33# Batcher

老师:为什么没有“拷贝并合并的文件”这个文件夹你编写的程序就不能用了呢?

TOP

回复 35# Batcher


    老师:为什么没有“拷贝并合并的文件”这个文件夹你编写的程序就不能用了呢?

TOP

貌似可以这样
  1. for %%a in (002 010 005 001 014) do (
  2.    copy "base\*.%%a" "按类合并\all%%a.txt"
  3. )
复制代码
f10好像是股票软件生成的2进制文件,才显示乱码。里面内容应该没必要添加。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 34# zhjg5961
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%i in (002 010 005 001 014) do (
  4.     for %%j in ("Base\*.%%i") do (
  5.         type "%%j" >> "拷贝并合并的文件\%%~nj.txt"
  6.         echo,>>"拷贝并合并的文件\%%~nj.txt"
  7.     )
  8. )
  9. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表