
CODE: [Copy to clipboard]test.txt必须放在E盘之外的分区,里面的内容为不带路径的文件夹名,一行一条记录,比如:@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
CODE: [Copy to clipboard]如果对以上演示代码的效果很满意,可以用下面的代码来删除E盘下指定文件夹外的其他所有文件或文件夹:文件夹1
文件夹2
文件夹3
文件夹4
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
CODE: [Copy to clipboard]@echo off
::如果有多个路径,或者排除多个文件夹:::
::或者排除多个文件,请手工进行设置:::::
::findstr 后面可以跟多个/c:""参数::::::
::如:/c:"game" /c:"qq" /c:"net" ::::::
::中间使用空格间隔:::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::
:: code by zzlike 2006-12-11 CMD@XP::::
::::::::删除文件夹:::::::::::::::::::::
for /f "delims=" %%i in ('dir /b /ad "d:\" "e:\" ^|findstr /i /v /b /e /c:"netgame" /c:"ghost" /c:"游戏菜单"') do attrib -s -h -r -a /s /d "d:\%%i" && rd /s /q "d:\%%i"
::::::::删除文件:::::::::::::::::::::::
for /f "delims=" %%i in ('dir /b /a-d "d:\" "e:\" ^|findstr /i /v /b /e /c:"排除删除文件夹.bat" /c:"新建 文本文档.txt"') do del /a /f /q "d:\%%i"
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |