使用.bat文件删除除一个或两个文件(文件/子目录文件)之外的所有文件?

时间:2017-03-14 08:19:03

标签: batch-file

我是批处理脚本的新手。要求是,Directory包含具有子文件夹和文件的文件夹。需要删除除两个文件之外的所有文件,其中包含.css .html等扩展名。不知道批量(.bat)脚本。请帮帮我

先谢谢

2 个答案:

答案 0 :(得分:0)

你可以尝试这样的东西,它将遍历放置批处理文件的所有目录,并删除与所需扩展名不匹配的文件

@echo off
echo.

REM loop through files
for /r %%f in (*) do call :myFunc %%f
goto End

REM function to check files
:myFunc
set file=%1
set delete=TRUE
REM don't delete the batch script (replace with your batch script name)
if not "%file%"=="%file:batchscriptname.bat=%" set delete=FALSE
REM don't delete .html files
if not "%file%"=="%file:.html=%" set delete=FALSE
REM don't delete .css files
if not "%file%"=="%file:.css=%" set delete=FALSE
REM execute the delete
if "%delete%"=="TRUE" echo %file%
goto :eof

:End

答案 1 :(得分:0)

@Echo off
for / "delims=" %%A in (
  'dir /B/S/A-d X:\startfolder\* ^|findstr /i /v "\.css$ \.html$" '
) Do echo Del "%%~fA"

如果输出看起来正确,请删除del。前面的回声