![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 13:03 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » DOS批处理高手入选小考题(张榜),谁来揭榜? |
| 可打印版本 1,415 / 2 |
| 第1楼 GOTOmsdos | 发表于 2004-11-09 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
DOS批处理高手入选小考题(张榜),谁来揭榜? 假设你有很多重复的目录,在c,d两个盘中,但你又不知道他们在哪里,
怎样用一句批处理删掉d盘中的重复目录(假设属性都是可删的)要求:只用一句 |
|
| 第2楼 qzwqzw | 发表于 2004-11-11 00:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
难了点吧,在98下根本没有什么好办法,更别说一句dos命令。从网上下载专用软件把。
|
|
| 第3楼 Climbing | 发表于 2004-11-12 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
这个问题已经在前面的帖子中解决了。看下面的示例:@echo off
:: testfor.bat 测试for命令及命令扩展 :: 功能:删除2目录下所有与1目录中重名的子目录 rd /s /q 1 rd /s /q 2 md 1\a md 1\a.1 md 1\b md 1\c md 2\a md 2\a.1 md 2\a.2 md 2\b md 2\c md 2\d md 2\e echo ================================================================ echo 目录 1 的内容: echo ================================================================ dir /b 1 echo ================================================================ echo 目录 2 的内容: echo ================================================================ dir /b 2 echo ================================================================ echo 运行第一个for命令之后(if %%~ni==%%~nj),目录2的内容变为: for /d /r 1 %%i in (*) do for /d /r 2 %%j in (*) do if %%~ni==%%~nj rd /s /q %%j echo ================================================================ dir /b 2 echo ================================================================ echo 注意:a.2目录被错误的删除了。 pause echo. echo ================================================================ echo 准备运行第二个for命令... echo ================================================================ rd /s /q 1 rd /s /q 2 md 1\a md 1\a.1 md 1\b md 1\c md 2\a md 2\a.1 md 2\a.2 md 2\b md 2\c md 2\d md 2\e echo 目录 1 的内容: echo ================================================================ dir /b 1 echo ================================================================ echo 目录 2 的内容: echo ================================================================ dir /b 2 echo ================================================================ echo 运行第二个for命令之后(if %%~nxi==%%~nxj),目录2的内容变为: for /d /r 1 %%i in (*) do for /d /r 2 %%j in (*) do if %%~nxi==%%~nxj rd /s /q %%j echo ================================================================ dir /b 2 echo ================================================================ echo 看,a.2目录没有被删除。 echo. echo ================================================================ echo 测试结果:目录名同样是有扩展名的。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |