Board logo

标题: [文件操作] 批处理如何删除两个文件夹内的同名文件(或找出两个文件夹内的不同名文件)? [打印本页]

作者: yalixander    时间: 2016-4-20 23:27     标题: 批处理如何删除两个文件夹内的同名文件(或找出两个文件夹内的不同名文件)?

本帖最后由 yalixander 于 2016-4-21 00:07 编辑

文件相同判断指文件名相同。

文件夹A有文件1,2,3,4四个文件
文件夹B有文件2,3,

不设定文件夹路径,实现对比文件名,A文件夹删掉2,3.保留1,4,将文件夹B删掉。

或者更进一步,文件夹B有文件2,3,5。实现A保留1,4,B保留5.



搜到了一个将A里面的2,3删掉的高效方法。
  1. @echo off
  2. for /r %%a in (*.*) do (
  3.    del /f /s "%%~nxa" 3>>"%%a"
  4. ) 2>nul
  5. ::嘿嘿,句柄,你懂得
  6. pause
复制代码

作者: happy886rr    时间: 2016-4-21 10:12

  1. CD "%B%"&for /f %%a in ('dir /a-d /b %A%') do (if exist "%%a" (del /f /q "%%a"&del /f /q "%A%\%%~nxa"))
复制代码
回复 1# yalixander
作者: yalixander    时间: 2016-4-21 15:45

回复 2# happy886rr


    试了一下,能把较少文件的文件夹清空。但没有把此文件夹删除。  较多文件的文件夹内与另一文件夹相同的文件也没有删除。




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