标题: 一个保留某几个文件夹之外删除其它文件夹地程序
[打印本页]
作者: nbic
时间: 2007-6-1 19:31
标题: 一个保留某几个文件夹之外删除其它文件夹地程序
说明一下:在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 ]
作者: wudixin96
时间: 2007-6-1 22:16
for /f %%i in ('dir F:\下载\ /b /ad ^|findstr "[^12]"') DO rd /s /q %%i
作者: nbic
时间: 2007-6-1 23:03
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 |
|
刚才试了试。不行哦。。
作者: wudixin96
时间: 2007-6-2 00:19
根据楼主的思路。这个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 ]
作者: terse
时间: 2007-6-2 00:27
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
作者: lxmxn
时间: 2007-6-2 00:29
@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 ]
作者: nbic
时间: 2007-6-2 09:59
6楼的方法不错。。谢了。。
作者: qzwqzw
时间: 2007-6-2 10:54
这个太简单了
考虑复杂一些的
测试路径结构如下:
test
- test1
- test2
- test21
- test22
- test221
- test3
- test31
- test311
- test32
要求:
删除test22和test311以外的所有文件夹
原目录结构保留
test221目录要删除
test31下的文件要删除
作者: xjzhf4
时间: 2008-3-7 11:01
呵呵,谢谢各位,学习了啊.........
作者: Li103Z
时间: 2008-4-11 16:38
我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原因?请各位大侠帮助解答。是不是我的DOS版本问题呢?
[
Last edited by Li103Z on 2008-4-11 at 04:40 PM ]
作者: lxmxn
时间: 2008-4-13 06:53
Quote: |
Originally posted by Li103Z at 2008-4-11 16:38:
我用 lxmxn版主的方法试了一下,在我的计算机就出现这样的错误:"findstr不是内部命令或外部命令,也不是可运行的程序或批处理文件",什么原 ... |
|
请说明你的运行环境。
作者: lyaa
时间: 2008-4-17 14:27
有空格肯定不行
作者: hahaxiao
时间: 2008-11-29 00:20
挺好用
作者: sea1112
时间: 2008-11-29 09:59
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)
作者: sea1112
时间: 2008-11-29 10:08
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)
作者: sea1112
时间: 2008-11-29 10:12
晕,我自己搞错了。E盘了,他做的是F盘