![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 22:28 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样删除指定文件夹里的所有文件? |
| 可打印版本 2,125 / 15 |
| 第1楼 liuwushu | 发表于 2007-12-17 21:11 |
| 初级用户 发帖 35 积分 93 | |
|
怎样删除指定文件夹里的所有文件? 好比我要删除C:\Documents and Settings\All Users\Application Data 文件夹里所有文件夹,但是C:\Documents and Settings\All Users\Application Data 里的文件夹 bek文件夹要保留其它的都删掉。
[ Last edited by liuwushu on 2007-12-17 at 09:35 PM ] |
|
| 第2楼 liuwushu | 发表于 2007-12-17 21:22 |
| 初级用户 发帖 35 积分 93 | |
|
不知道批处理能实现这个功能吗?
|
|
| 第3楼 lxmxn | 发表于 2007-12-17 21:31 |
| 版主 发帖 4,938 积分 11,386 | |
|
先把标题改了。
|
|
| 第4楼 liuwushu | 发表于 2007-12-17 21:36 |
| 初级用户 发帖 35 积分 93 | |
|
我已经改了,不好意思啊。。。
下次不会出现这样的错误了。。。 |
|
| 第5楼 fastslz | 发表于 2007-12-17 22:39 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\All Users\Application Data"^|find /v "bek"') do echo rd /s/q "%%i" pause 实际应用去掉echo |
|
| 第6楼 liuwushu | 发表于 2007-12-17 23:02 |
| 初级用户 发帖 35 积分 93 | |
|
谢谢,,,谢谢谢谢谢谢、、、
|
|
| 第7楼 fastslz | 发表于 2007-12-17 23:14 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
如果不区分大小写find后面加 /i
|
|
| 第8楼 liuwushu | 发表于 2007-12-17 23:19 |
| 初级用户 发帖 35 积分 93 | |
|
好像删除不了文件夹
只能显示出那些多的文件夹 rd /s/q "新建文件夹" rd /s/q "新建文件夹 (2)" rd /s/q "新建文件夹 (3)" 请按任意键继续. . . 就出现这样 |
|
| 第9楼 liuwushu | 发表于 2007-12-17 23:23 |
| 初级用户 发帖 35 积分 93 | |
|
去掉echo就会出现
系统找不到指定的文件。 系统找不到指定的文件。 系统找不到指定的文件。 请按任意键继续. . . |
|
| 第10楼 fastslz | 发表于 2007-12-17 23:23 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
不是说了实际应用去掉echo
rd /q/s不能随便乱用的,我们写代码加上echo是为你们负责 |
|
| 第11楼 fastslz | 发表于 2007-12-17 23:24 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\All Users\Application Data"^|find /v "bek"') do echo rd /s/q "C:\Documents and Settings\All Users\Application Data\%%i" pause |
|
| 第12楼 liuwushu | 发表于 2007-12-17 23:30 |
| 初级用户 发帖 35 积分 93 | |
|
谢谢大哥现在可以了,我现在就是有个新的问题。现在可以删除Application Data文件夹里的文件夹,要是想删除Application Data里面的文件呢? bek文件夹里面的东西保留。
|
|
| 第13楼 fastslz | 发表于 2007-12-17 23:40 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
最后再加
del /f/q "C:\Documents and Settings\All Users\Application Data\*.*" |
|
| 第14楼 liuwushu | 发表于 2007-12-18 10:23 |
| 初级用户 发帖 35 积分 93 | |
|
@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\Administrator\桌面\新建文件夹\"^|find /v "bek"') do rd /s/q "C:\Documents and Settings\Administrator\桌面\新建文件夹\%%i" del /f/q "C:\Documents and Settings\Administrator\桌面\新建文件夹\*.*" pause 加了del /f/q出现这样的问题 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 无效的命令行开关 - "f"。 请按任意键继续. . . [ Last edited by liuwushu on 2007-12-18 at 10:42 AM ] |
|
| 第15楼 liuwushu | 发表于 2007-12-18 10:59 |
| 初级用户 发帖 35 积分 93 | |
|
找找老帖就有了我要的,,,呵呵,
以下为演示代码,必须放在E盘之外的分区运行: CODE: [Copy to clipboard] -------------------------------------------------------------------------------- @echo off for /f "delims=" %%i in ('dir /a /b e:\') do ( set flag= for /f "delims=" %%j in (test.txt) do if /i "%%i"=="%%j" set flag=1 if not defined flag echo "e:\%%i" ) pause test.txt必须放在E盘之外的分区,里面的内容为不带路径的文件夹名,一行一条记录,比如: CODE: [Copy to clipboard] -------------------------------------------------------------------------------- 文件夹1 文件夹2 文件夹3 文件夹4 如果对以上演示代码的效果很满意,可以用下面的代码来删除E盘下指定文件夹外的其他所有文件或文件夹: CODE: [Copy to clipboard] -------------------------------------------------------------------------------- @echo off for /f "delims=" %%i in ('dir /a /b e:\') do ( set flag= for /f "delims=" %%j in (test.txt) do if /i "%%i"=="%%j" set flag=1 if not defined flag del /a /f "e:\%%i" 2>nul||rd /s "e:\%%i" 2>nul ) pause |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |