中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 20:56
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 自动删除文件和文件夹
可打印版本  2,123 / 8
第1楼 pengxb 发表于 2006-12-25 12:38
初级用户 发帖 17 积分 169
自动删除文件和文件夹
我E盘下有4个文件夹,保护这4个文件夹不被删除
可否建个批处理
自动删除多余的文件和文件夹
第2楼 namejm 发表于 2006-12-25 22:57
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  以下为演示代码,必须放在E盘之外的分区运行:

  test.txt必须放在E盘之外的分区,里面的内容为不带路径的文件夹名,一行一条记录,比如:

  如果对以上演示代码的效果很满意,可以用下面的代码来删除E盘下指定文件夹外的其他所有文件或文件夹:
第3楼 ccwan 发表于 2006-12-25 23:12
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
尽管是namem版主的代码,偶也是试过成功才加分的。
呵呵……
第4楼 everest79 发表于 2006-12-25 23:57
金牌会员 发帖 1,127 积分 2,564
::------------winxp sp2 disk clear--------------
::::::::::::::::::::注要配置::::::::::::::::::::
::你需要清理的分区是几个=3
::都是那几个分区=D:\;E:\;F:\
::----------------------------------------------
@echo off
:dc
cls
title=winxp sp2 disk clear
SETLOCAL ENABLEDELAYEDEXPANSION
SET list=C:\%random%.dat
if /i "%1" == "list" cls&goto parlist
for /f "tokens=2 delims==" %%i in ('findstr /B "::你需要清理的分区是几个" %0') do SET show=%%i
for /f "tokens=2,3,4,5,6 delims==;" %%i in ('findstr /B "::都是那几个分区" %0') do SET par1=%%i&SET par2=%%j&SET par3=%%k&SET par4=%%l&SET par5=%%m&SET par6=%%n
SET par|find "par%show%"&&goto list
echo config error...
pause>nul
goto dcend

:list
echo.>%list%
for /f "tokens=2 delims=>" %%i in ('findstr /B "::>" %0') do echo %%i>>%list%
goto partition

:parlist
set /p disk=请输入你需要建立列表的分区盘符(例:"C:" 不包括"\")
ECHO %disk%|findstr /b /e /i "C: D: E: F: G: H: I: J: K: L: M: N:"||CLS&&ECHO 输入错误! &&goto parlist
echo.>%list%
for /f "delims=" %%i in ('dir /a:d /b %disk%\') do ECHO ::^>%disk%\%%i>>%list%
cls
set /p ch=%disk%根目录列表已完成,需要添加至本脚本内吗?(Y/N):
if /i "%ch%" == "y" copy %0+"%list%" %0
notepad.exe %list%&goto dcend

:partition
SET par=!par%show%!
SET /A show=%show%-1
for /f "delims=" %%i in ('dir /A:D /B %par%') do findstr /B /E /C:"%par%\%%i" %list% >nul || rd /s /q "%par%%%i"
del /f /q /a %par%*.*
if %show%==0 goto dcend
goto partition

:dcend
del /f /q %list%
pause


:::::::::::::::::排除目录设置:::::::::::::::::
::>D:\LanGame
::>D:\My Virtual Machines
::>D:\RECYCLER
::>D:\System Volume Information
::>E:\DATA
::>E:\div
::>E:\DOW
::>E:\ghost
::>E:\ISO
::>E:\moliyo
::>E:\RECYCLER
::>E:\SOFTWARE
::>E:\System Volume Information
::>E:\魔兽世界
::>F:\DOW
::>F:\Downloads
::>F:\L
::>F:\My Virtual Machines
::>F:\RECYCLER
::>F:\System Volume Information
::>F:\测试 一下
第5楼 a9319751 发表于 2006-12-26 00:12
中级用户 发帖 170 积分 439
第6楼 jmz573515 发表于 2006-12-26 10:49
银牌会员 发帖 464 积分 1,212
晕~~
本人在用VBS编写时不慎将E盘下所有文件删除,损失惨重! :(
好在代码算写出来了,不过没胆量把它贴上来了 :)
在此提醒各位“删除”命令慎用!
第7楼 fyosa 发表于 2006-12-28 10:05
新手上路 发帖 2 积分 6
删除文件夹问题,删除当前日期前几天的文件夹?
例如一文件夹内有以日期为名的文件夹多个,想保留当前日期前7天的文件夹?
用批处理该怎么编写?
第8楼 formatcat 发表于 2007-04-18 04:42
新手上路 发帖 5 积分 10
是要小心,不过不错的代码,谢谢。
第9楼 sparkmo 发表于 2008-09-25 16:01
新手上路 发帖 2 积分 3
看不懂
但也顶一下,
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023