Board logo

标题: [已结]怎样查找相同名字的文件夹 [打印本页]

作者: hjxk     时间: 2008-10-15 18:03    标题: [已结]怎样查找相同名字的文件夹

有两个装有大量电影的硬盘,硬盘内以电影名创建文件夹,两个硬盘内有很多电影是重复的,请问怎样用批处理将重复的电影查找出来,即是将两个硬盘内相同名字的文件夹查找出来并输出到一个记事本中。多谢!! [ Last edited by HAT on 2008-10-25 at 18:26 ]

作者: hjxk     时间: 2008-10-16 01:36
自己顶一下

作者: everest79     时间: 2008-10-20 04:43
for /f "delims=" %%i in ('dir /ad /b /s') do ( if defined "%~nxi" ( echo %%"%~nxi"%% ==== %~i >>list.txt ) else ( set ""%~nxi"=%~i" ) )

作者: liumangshiwo     时间: 2008-10-21 14:05
顶一下

作者: hjxk     时间: 2008-10-21 23:49
实在太菜了,看不明白,可以解释下怎样使用吗?

作者: everest79     时间: 2008-10-22 06:21
例如你两个硬盘在当前系统下分别为E与F盘,那么你就可以这样 for /f "delims=" %%i in ('dir /ad /b /s E:;F:') do ( if defined "%~nxi" ( echo %%"%~nxi"%% ==== %~i >>list.txt ) else ( set ""%~nxi"=%~i" ) ) 最后在批处理所在目录生成的list.txt里应就是重复目录了,不过我没测试

作者: slw218856     时间: 2008-10-25 16:52
楼上的这局我不懂,能否解疑,先谢谢。 if defined "%~nxi" ( echo %%"%~nxi"%% ==== %~i

作者: everest79     时间: 2008-10-26 01:31
if defined var 判断是否存在变量var 因为目录名称的非规范特点,这个变量名称使用了引号来闭合,所以出现了 if defined "%~nxi" 随后是这个变量若存在,说明有重复的,那么将这个重复文件夹路径输出到list.txt 要是不存在则设置这个变量 set ""%~nxi"=%~i"