中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 12:48
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 一个保留某几个文件夹之外删除其它文件夹地程序
可打印版本  4,012 / 15
第1楼 nbic 发表于 2007-06-01 19:31
初级用户 发帖 61 积分 135
一个保留某几个文件夹之外删除其它文件夹地程序
说明一下:在F:\下载文件夹里面,有子文件夹1、2、3、4、5。问题是保留1和2子文件夹。删除其余地三个文件夹。用下面地程序。只能保留1这个文件夹。其它地都删除了。。

for /f "skip=1 tokens=*" %%i in ('dir F:\下载\ /b /ad ^|find /v "F:\下载\1,2"') DO rd /s /q "F:\下载\%%i"
del F:\下载\*.* /a/q/f

各位帮忙看看。要达到保留子文件夹1和2地目的,该如何改改上面地程序呢?

先在此谢过!

[ Last edited by nbic on 2007-6-1 at 07:32 PM ]
第2楼 wudixin96 发表于 2007-06-01 22:16
银牌会员 发帖 931 积分 1,928
第3楼 nbic 发表于 2007-06-01 23:03
初级用户 发帖 61 积分 135
Originally posted by wudixin96 at 2007-6-1 10:16 PM:


刚才试了试。不行哦。。
第4楼 wudixin96 发表于 2007-06-02 00:19
银牌会员 发帖 931 积分 1,928
根据楼主的思路。这个p是要放到F:\下载下执行的。

dir F:\下载\ /b /ad的结果是:

1
2
3
4
5



[ Last edited by wudixin96 on 2007-6-2 at 12:23 AM ]
第5楼 terse 发表于 2007-06-02 00:27
银牌会员 发帖 946 积分 2,404
Originally posted by wudixin96 at 2007-6-2 00:19:
根据楼主的思路。这个p是要放到F:\下载下执行的。

dir F:\下载\ /b /ad的结果是:

1
2
3
4
5

第6楼 lxmxn 发表于 2007-06-02 00:29
版主 发帖 4,938 积分 11,386


[ Last edited by lxmxn on 2007-6-2 at 05:53 PM ]
第7楼 nbic 发表于 2007-06-02 09:59
初级用户 发帖 61 积分 135
6楼的方法不错。。谢了。。
第8楼 qzwqzw 发表于 2007-06-02 10:54
银牌会员 发帖 636 积分 2,343
这个太简单了
考虑复杂一些的

测试路径结构如下:
test
- test1
- test2
- test21
- test22
- test221
- test3
- test31
- test311
- test32

要求:

删除test22和test311以外的所有文件夹
原目录结构保留
test221目录要删除
test31下的文件要删除
第9楼 xjzhf4 发表于 2008-03-07 11:01
新手上路 发帖 5 积分 12
呵呵,谢谢各位,学习了啊.........
第10楼 Li103Z 发表于 2008-04-11 16:38
初级用户 发帖 38 积分 70
我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原因?请各位大侠帮助解答。是不是我的DOS版本问题呢?

[ Last edited by Li103Z on 2008-4-11 at 04:40 PM ]
第11楼 lxmxn 发表于 2008-04-13 06:53
版主 发帖 4,938 积分 11,386
Originally posted by Li103Z at 2008-4-11 16:38:
我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原 ...

请说明你的运行环境。
第12楼 lyaa 发表于 2008-04-17 14:27
初级用户 发帖 17 积分 40
有空格肯定不行
第13楼 hahaxiao 发表于 2008-11-29 00:20
新手上路 发帖 2 积分 3
挺好用
第14楼 sea1112 发表于 2008-11-29 09:59
初级用户 发帖 119 积分 131 来自 gz
Originally posted by nbic at 2007-6-1 07:31 PM:
说明一下:在F:\下载文件夹里面,有子文件夹1、2、3、4、5。问题是保留1和2子文件夹。删除其余地三个文件夹。用下面地程序。只能保留1这个文件夹 ...



请把内容保存为“删除文件夹以外的文件夹和文件.bat”放到目录里运行

@echo off
::删除自己以外的所有文件
for %%a in (*) do (if "%%a" neq "删除文件夹以外的文件夹和文件.bat" del "%%a" /q)
::删除指定文件夹以外所有的文件夹
for /d %%b in (*) do (if "%%b" neq "1" if "%%b" neq "2" rd "%%b" /q/s)

附件
删除文件夹以外的文件夹和文件.bat.rar (359 bytes)
第15楼 sea1112 发表于 2008-11-29 10:08
初级用户 发帖 119 积分 131 来自 gz
Originally posted by lxmxn at 2007-6-2 12:29 AM:


[ Last edited by lxmxn on 2007-6-2 at 05:53 PM ]



找不到文件

附件
all.jpg (46.61 KiB)
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023