中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个保留某几个文件夹之外删除其它文件夹地程序
« [1] [2] »
作者:
标题: 一个保留某几个文件夹之外删除其它文件夹地程序 上一主题 | 下一主题
nbic
初级用户




积分 135
发帖 61
注册 2007-4-14
状态 离线
『楼 主』:  一个保留某几个文件夹之外删除其它文件夹地程序

说明一下:在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 ]

2007-6-1 19:31
查看资料  发送邮件  发短消息 网志   编辑帖子
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  


for /f %%i in ('dir F:\下载\ /b /ad ^|findstr "[^12]"') DO rd /s /q %%i


2007-6-1 22:16
查看资料  发短消息 网志   编辑帖子
nbic
初级用户




积分 135
发帖 61
注册 2007-4-14
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-6-1 10:16 PM:
for /f %%i in ('dir F:\下载\ /b /ad ^|findstr "[^12]"') DO rd /s /q %%i

刚才试了试。不行哦。。

2007-6-1 23:03
查看资料  发送邮件  发短消息 网志   编辑帖子
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 4 楼』:  

根据楼主的思路。这个p是要放到F:\下载下执行的。

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

1
2
3
4
5
@echo off
for /f %%i in ('dir F:\下载\ /b /ad ^|findstr "[^12]"') DO rd /s /q F:\下载\%%i
pause
[ Last edited by wudixin96 on 2007-6-2 at 12:23 AM ]

2007-6-2 00:19
查看资料  发短消息 网志   编辑帖子
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-6-2 00:19:
根据楼主的思路。这个p是要放到F:\下载下执行的。

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

1
2
3
4
5

[code]@echo off
for /f %%i in ('dir F:\下载\ /b /ad ^|findstr &quo ...

这个p是并不要放到F:\下载下执行
@echo off
for /f %%i in ('dir F:\下载\ /b /ad ^|findstr "[^12]"') DO rd /s /q F:\下载\%%i
pause

2007-6-2 00:27
查看资料  发送邮件  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


@echo off
for /f %%a in ('dir /b/ad F:\下载\? ^| findstr /v "1 2"') do rd /s/q F:\下载\%%a
[ Last edited by lxmxn on 2007-6-2 at 05:53 PM ]

2007-6-2 00:29
查看资料  发送邮件  发短消息 网志   编辑帖子
nbic
初级用户




积分 135
发帖 61
注册 2007-4-14
状态 离线
『第 7 楼』:  

6楼的方法不错。。谢了。。

2007-6-2 09:59
查看资料  发送邮件  发短消息 网志   编辑帖子
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 8 楼』:  

这个太简单了
考虑复杂一些的

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

要求:

删除test22和test311以外的所有文件夹
原目录结构保留
test221目录要删除
test31下的文件要删除

2007-6-2 10:54
查看资料  发短消息 网志   编辑帖子
xjzhf4
新手上路





积分 12
发帖 5
注册 2008-1-21
状态 离线
『第 9 楼』:  

呵呵,谢谢各位,学习了啊.........

2008-3-7 11:01
查看资料  发送邮件  发短消息 网志   编辑帖子
Li103Z
初级用户





积分 70
发帖 38
注册 2007-5-23
状态 离线
『第 10 楼』:  

我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原因?请各位大侠帮助解答。是不是我的DOS版本问题呢?

[ Last edited by Li103Z on 2008-4-11 at 04:40 PM ]

2008-4-11 16:38
查看资料  发送邮件  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by Li103Z at 2008-4-11 16:38:
我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原 ...

请说明你的运行环境。

2008-4-13 06:53
查看资料  发送邮件  发短消息 网志   编辑帖子
lyaa
初级用户





积分 40
发帖 17
注册 2007-8-10
状态 离线
『第 12 楼』:  

有空格肯定不行

2008-4-17 14:27
查看资料  发送邮件  发短消息 网志   编辑帖子
hahaxiao
新手上路





积分 3
发帖 2
注册 2008-11-25
状态 离线
『第 13 楼』:  

挺好用

2008-11-29 00:20
查看资料  发送邮件  发短消息 网志   编辑帖子
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 14 楼』:  



  Quote:
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)

附件 1: 删除文件夹以外的文件夹和文件.bat.rar (2008-11-29 09:59, 359 bytes,下载次数: 26)
2008-11-29 09:59
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by lxmxn at 2007-6-2 12:29 AM:
@echo off
for /f %%a in ('dir /b/ad F:\下载\? ^| findstr /v "1 2"') do rd /s/q F:\下载\%%a
[ Last edited by lxmxn on 2007-6-2 at 05:53 PM ]

找不到文件

附件 1: all.jpg (2008-11-29 10:08, 46.61 K,下载次数: 2)


2008-11-29 10:08
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: