找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20722|回复: 4

[文本处理] 求助bat脚本把多个文件夹的内容合并,重复名文件不能覆盖

[复制链接]
发表于 2022-10-13 12:24:19 | 显示全部楼层 |阅读模式
求助bat脚本把多个文件夹的内容合并,重复名文件不能覆盖,如下:
   文件夹 34500383201119_Equip 下有以下文件
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
   文件夹 75028743201049_Equip 下有以下文件
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
  合并后的文件夹保存所有.log文件,不能覆盖。
我找了个脚本可以合并,但是同名文件会覆盖
  1. @echo on
  2. for /f "delims=" %%p in ('dir /b/ad') do move %%p\*.* D:\all\
  3. pause
复制代码
求助,感谢!
发表于 2022-10-13 14:35:30 | 显示全部楼层
回复 1# wangweizhong
  1. @echo off
  2. cd /d "%~dp0"
  3. set "NewFolder=D:\all"
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5.     for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
  6.         if not exist "%NewFolder%\%%j" (
  7.             move "%%i\%%j" "%NewFolder%"
  8.         )
  9.     )
  10. )
复制代码
 楼主| 发表于 2022-10-13 17:07:54 | 显示全部楼层
可能是我没说明白。  
文件夹 34500383201119_Equip 下有以下文件
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
   文件夹 75028743201049_Equip 下有以下文件
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
    2022101308.log
    2022101307.log
  合并后的新文件夹名称到D:\all\,保存所有.log文件,不能覆盖。
需要合并后的结果为
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
    2022101312.log
    2022101311.log
    2022101310.log
    2022101309.log
    2022101308.log
    2022101307.log
发表于 2022-10-13 17:41:22 | 显示全部楼层
回复 3# wangweizhong


    Windows系统不允许一个文件夹下出现两个或两个以上重复的文件名
发表于 2022-10-14 18:03:00 | 显示全部楼层
本帖最后由 holley 于 2022-10-14 18:23 编辑

回复 1# wangweizhong
曲线救国?
  1. @echo off
  2. md new
  3. for /r "." %%a in (*.log) do (
  4.     echo %%~na
  5.     type %%a >> %%~na-new.log
  6. )
  7. move "*-new.log" "new"
  8. setlocal enabledelayedexpansion
  9. set "str=-new"
  10. cd /d new
  11. for /f "delims=" %%i in ('dir /b .') do (
  12. set "var=%%i" & ren "%%i" "!var:%str%=!")
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 15:48 , Processed in 0.017789 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表