中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 23:13
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 有没有办法写一个删除指定文件以外的文件夹的bat 查看 2,281 回复 7
楼 主 有没有办法写一个删除指定文件以外的文件夹的bat 发表于 2006-12-07 07:50 ·  中国 广东 广州 海珠区 电信
新手上路
积分 16
发帖 6
注册 2006-12-07 07:15
19年会员
UID 72810
性别 男
状态 离线
有没有办法写一个删除指定文件以外的文件甲的bat?
就像我的根目录有a.b.c.d.e.1.2.3... 等多个文件夹(会每次开机随机生成多个不同的文件夹还有可能出现只读和隐藏).
像保留a.1.3.这几个文件夹删除其余的文件夹(可能还有更多留下添加的可能)
请各位帮忙看看
2 发表于 2006-12-08 05:29 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
for /f "usebackq delims=" %%i in (`dir /s/b/a`) do echo %%i |find "排除文件夹" >nul ||attrib -a -h -s -r &&rd /s/q "%%i" ||del /f/s/q/a "%%i"
pause
bat c c++
3 发表于 2006-12-09 04:08 ·  中国 广东 广州 海珠区 电信
新手上路
积分 16
发帖 6
注册 2006-12-07 07:15
19年会员
UID 72810
性别 男
状态 离线
谢谢我试试
4 发表于 2006-12-09 04:09 ·  中国 广东 广州 海珠区 电信
新手上路
积分 16
发帖 6
注册 2006-12-07 07:15
19年会员
UID 72810
性别 男
状态 离线
那要排除多个文件甲怎么样啊~
5 发表于 2006-12-11 16:39 ·  中国 河北 邢台 电信
中级用户
★★
积分 242
发帖 134
注册 2006-12-11 15:14
19年会员
UID 73203
性别 男
状态 离线
我有遇到同样要求的用途, 搜遍 Internet 未果.
后来经我自己琢磨, 找到了解决办法.
但必须依靠另外的程序, 配合批处理才能解决.
这个另外的程序名叫 Robocopy.exe
批处理这样写:

@echo off
robocopy 源路径下的一个空文件夹 目标路径 /e /purge /xd 要排除的文件夹(可以多个, 空格隔开, 长名要双引号括起) /xf 要排除的文件(可以多个, 空格隔开, 长名要双引号括起)

::注意, 总行长不能超过 512 字节, 另外, Robocopy 程序是 Win32 程序, 不支持纯 DOS

::若要支持纯 DOS 的, 可给你再介绍一个程序, 它叫 Pdel.exe (V4.4) , 该程序也可以完成任务.
6 发表于 2006-12-12 05:59 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
@echo off
::::::::指定搜索路径:::::::::[ e:\ ]:::::::::::::::::::::::::
::::::::删除文件夹:::::::::::[ /c:"qq" ]:::::::::::::::::::::
for /f "delims=" %%i in ('dir /b /ad e:\ ^|findstr /i /v /b /e /c:"game" /c:"qq"') do attrib -s -h -r -a /s /d "%%i" && rd /s /q "%%i" && echo 已删除目录"%%~fi"
::::::::删除文件:::::::::::::[ /c:"新建 文本文档.txt" ]::::::
for /f "delims=" %%i in ('dir /b /a-d e:\ ^|findstr /i /v /b /e /c:"排除删除文件夹.bat" /c:"新建 文本文档.txt"') do del /a /f /q "%%i" && echo 已删除文件"%%~fnxi"
pause
bat c c++
7 发表于 2006-12-13 20:44 ·  中国 广东 广州 海珠区 电信
新手上路
积分 16
发帖 6
注册 2006-12-07 07:15
19年会员
UID 72810
性别 男
状态 离线
5楼谢谢~~我试试~~~晕6楼有点不明白~~我不是要删除指定文件夹~~而是除指定文件夹外都删除啊还有是那些文件甲(文件)是随机生成的~~~不过都谢谢你

[ Last edited by LDMLDM on 2006-12-13 at 07:50 AM ]
8 发表于 2006-12-13 20:46 ·  中国 广东 广州 海珠区 电信
新手上路
积分 16
发帖 6
注册 2006-12-07 07:15
19年会员
UID 72810
性别 男
状态 离线
Originally posted by VAF at 2006-12-11 03:39 AM:
我有遇到同样要求的用途, 搜遍 Internet 未果.
后来经我自己琢磨, 找到了解决办法.
但必须依靠另外的程序, 配合批处理才能解决.
这个另外的程序名叠...

我还以为可以只用批处理就能高店添~~~有D失望啊~
论坛跳转: