中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 06:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]怎样查找相同名字的文件夹 查看 1,643 回复 7
楼 主 [已结]怎样查找相同名字的文件夹 发表于 2008-10-15 18:03 ·  中国 广东 佛山 电信
初级用户
积分 21
发帖 13
注册 2005-12-04 21:05
20年会员
UID 46489
状态 离线
有两个装有大量电影的硬盘,硬盘内以电影名创建文件夹,两个硬盘内有很多电影是重复的,请问怎样用批处理将重复的电影查找出来,即是将两个硬盘内相同名字的文件夹查找出来并输出到一个记事本中。多谢!!

[ Last edited by HAT on 2008-10-25 at 18:26 ]
2 发表于 2008-10-16 01:36 ·  中国 广东 佛山 电信
初级用户
积分 21
发帖 13
注册 2005-12-04 21:05
20年会员
UID 46489
状态 离线
自己顶一下
3 发表于 2008-10-20 04:43 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
for /f "delims=" %%i in ('dir /ad /b /s') do (
if defined "%~nxi" (
echo %%"%~nxi"%% ==== %~i >>list.txt
) else (
set ""%~nxi"=%~i"
)
)
49206C6F766520796F752067757973 54656C3A3133383238343036373837
4 发表于 2008-10-21 14:05 ·  中国 广东 深圳 罗湖区 电信
新手上路
积分 19
发帖 13
注册 2008-10-21 13:17
17年会员
UID 128951
性别 男
状态 离线
顶一下
5 发表于 2008-10-21 23:49 ·  中国 广东 佛山 电信
初级用户
积分 21
发帖 13
注册 2005-12-04 21:05
20年会员
UID 46489
状态 离线
实在太菜了,看不明白,可以解释下怎样使用吗?
6 发表于 2008-10-22 06:21 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
例如你两个硬盘在当前系统下分别为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里应就是重复目录了,不过我没测试
49206C6F766520796F752067757973 54656C3A3133383238343036373837
7 发表于 2008-10-25 16:52 ·  中国 江苏 苏州 电信
初级用户
★★
积分 133
发帖 75
注册 2008-08-03 01:08
18年会员
UID 122677
性别 男
状态 离线
楼上的这局我不懂,能否解疑,先谢谢。
if defined "%~nxi" (
echo %%"%~nxi"%% ==== %~i
8 发表于 2008-10-26 01:31 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
if defined var 判断是否存在变量var
因为目录名称的非规范特点,这个变量名称使用了引号来闭合,所以出现了
if defined "%~nxi"
随后是这个变量若存在,说明有重复的,那么将这个重复文件夹路径输出到list.txt
要是不存在则设置这个变量
set ""%~nxi"=%~i"
49206C6F766520796F752067757973 54656C3A3133383238343036373837
论坛跳转: