![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 23:20 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教如何删除两个文件夹中的相同文件 |
| 可打印版本 1,611 / 9 |
| 第1楼 lqhaudit | 发表于 2010-01-04 11:53 |
| 初级用户 发帖 13 积分 132 | |
|
请教如何删除两个文件夹中的相同文件 请教:有两个文件夹A和B,有相同文件。我想将A中与B中相同的文件删除。如何写个BAT命令 ?
|
|
| 第2楼 lqhaudit | 发表于 2010-01-04 15:09 |
| 初级用户 发帖 13 积分 132 | |
|
经过刻苦钻研^_^。终于搞定了。BAT文件内容如下(对子文件夹的文件没有试验):
REM 将本BAT放到源文件夹中,删除目标文件夹中相同的文件 FOR %%D IN (*.mp3) DO del 目标文件夹\%%D |
|
| 第3楼 qinchun36 | 发表于 2010-01-04 15:15 |
| 高级用户 发帖 400 积分 609 | |
|
包括子文件夹
@echo off echo ====== 开始比较 ====== for /f "delims=" %%a in ('dir /s /b A') do ( for /f "delims=" %%b in ('dir /s /b B') do ( if "%%~na"=="%%~nb" ( echo 正在删除 "%%a" del /q "%%a" ) ) ) echo ======== 完成 ======== pause>nul [ Last edited by qinchun36 on 2010-1-4 at 15:26 ] |
|
| 第4楼 lqhaudit | 发表于 2010-01-05 14:01 |
| 初级用户 发帖 13 积分 132 | |
|
谢谢。真是高手啊。
虽然还看不懂。原来可以多个DO 命令套嵌。del /q "%%a" 不加路径吗?"A\%%a" |
|
| 第5楼 HAT | 发表于 2010-01-05 20:54 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 4楼 不需要。因为dir /s会得到文件的完整路径。
|
|
| 第6楼 Rstv | 发表于 2010-01-12 07:53 |
| 新手上路 发帖 12 积分 15 | |
Originally posted by HAT at 2010-1-5 20:54: 是 /b 且回3楼: 依LZ原意,第2个 for 改成如下可提高效率 for /R B %%b in (%%~na) do ... 。。。 [ Last edited by Rstv on 2010-1-12 at 08:11 ] |
|
| 第7楼 HAT | 发表于 2010-01-12 09:50 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 6楼 Are you joking?
/B Uses bare format (no heading information or summary). |
|
| 第8楼 Rstv | 发表于 2010-01-12 11:31 |
| 新手上路 发帖 12 积分 15 | |
|
稍安勿燥self 先假定没有子目录, 所以也没有 /S (为方便举例暂不虑
要取得可利用的文件列表: C:\>dir 驱动器 C 中的卷没有标签。 卷的序列号是 Acde-7376 C:\ 的目录 yyyy-mm-dd hh:mm <DIR> 你要的东西在这儿呢 yyyy-mm-dd hh:mm 123 前前后后,左左(无右右) yyyy-mm-dd hh:mm 456 还有那么多无用信息 yyyy-mm-dd hh:mm 789 怎么处理呀?? 3 个文件 1,368 字节 1 个目录 221,220,864 可用字节 所以,起作用的还是 /B。 当然,要对目录树操作,当然还要有 /S 了 再重申一下,/S 只是树操作,/B 才是实质关键,无可争辩,毫无质疑。 也所以,我自己一仓促只写了一半,应该是 /b /s 缺一不可 ~~看来确实是 3*0.5 >1 啊... |
|
| 第9楼 HAT | 发表于 2010-01-12 16:37 |
| 版主 发帖 5,017 积分 9,023 | |
|
既然/b /s 缺一不可,那么/B 才是实质关键,无可争辩,毫无质疑的结论是如何得出的呢?
|
|
| 第10楼 Rstv | 发表于 2010-01-12 19:28 |
| 新手上路 发帖 12 积分 15 | |
|
逻辑的最高境界是——
糊涂 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |