批处理 删除所有除指定类型文件外的所有文件

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:35:06
我的电脑只有三个分区,一个系统分区,另外两个是只用来存放图片的分区。
系统分区已经被我保护起来了,所有不怕中毒。但是图片分区有时候会中毒的。
我想做一个批处理,来实现自动搜索并删除 D盘和F盘 除.jpg和.bmp外的所有文件。
请注意一下,是“搜索并删除” 因为我的D盘有很多的文件夹 来存放不同的照片的。
还有 bat文件我是需要在C盘中存放并运行的。
还有 我的电脑已经把文件的扩展名隐藏了

谢谢了,希望哪位高手帮忙 万分感谢了!!!!!!!!!!!!!!

@echo off&&setlocal enabledelayedexpansion
for %%i in (d f) do (
set str=%%i:\
call :delit
)
echo 好了。
pause>nul&&goto :eof
:delit
for /r "%str%" %%a in (*.*) do (
set var=%%~xa
if /i "!var!" neq ".jpg" (if /i "!var!" neq ".bmp" (del "%%a"/f/q))
)

高效快捷的命令:
===================================================================
for /r %%i in (*.*) do (if %%~xi neq .jpg if %%~xi neq .bmp del "%%i" /f /q /a )
pause
==================================================================
必须分别放到d和f盘根目录,放到其他目录会删除您的文件。
你可以先放到一个文件夹下测试,建立多个文件,混合jpgbmp文件看看。
放到哪个目录那个目录下所有非jpg,bmp文件全部被删除,轻易不可恢复。

::删除D盘下的文件为例,如果可以把echo去掉
@echo off
for /f "delims=" %%i in ('dir /a-d /b /s d:\*.*') do (
if %%~xi neq .jpg (
if %%~xi neq .bmp (
echo del /s /f /q "%%i"
)
)