返回列表 发帖

[文件管理] 批处理按后缀名保留或删除文件

废话不多说,看代码
@echo off
title 按后缀名保留或删除文件 BY 拿来 QQ56059445;05/3/5
color 4f
:cd
cls
@echo.┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
@echo.┃                              请选择                                    ┃
@echo.┃                                                                        ┃
@echo.┃                                                                        ┃
@echo.┃    1.按后缀名保留文件                          2.按后缀名删除文件      ┃
@echo.┃                                                                        ┃
@echo.┃                     拿来制作: QQ56059445;05/3/5                       ┃
@echo.┃                                                                        ┃
@echo.┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
@echo.
set /p p=请选择:
if /i %p% == 1 goto del1
if /i %p% == 2 goto del2
goto cd
:del1
@echo off
title 按后缀名保留删除文件 BY 拿来 QQ56059445;05/3/5
color a
cls
@echo      本批处理最好不能和要删除的文件夹放在一起,否则,也会一起消失!
@echo     ...............................................................
@echo           请输入要保留的文件名后缀(如;.jpg .txt .exe等)
@echo           ...............................................
set /p wjm=请输入后缀名(如;.jpg .txt .exe等按回车):
cls
@echo      请输入文件夹的完整路径 或 把文件夹放到这里
@echo      ..........................................  
@echo             (如;C:\ABC D:\ABC\123 E:\)
@echo             ...........................
set /p ml=请输入完整路径 或 把文件夹放到这里按回车:
@echo                   %date%%time%>删除了的文件.txt
dir %ml% /a-d/b/s>>dir1.txt
for /f "delims=" %%i in ('dir %ml% /a-d/b/s') do if %%~xi neq %wjm% del "%%i" /a/s/f
dir %ml% /a-d/b/s>>dir2.txt
find /v "%wjm%" dir1.txt >>删除了的文件.txt
del dir?.txt /a/f/s
CLS
@echo  按后缀名保留文件 BY 拿来 QQ56059445;05/3/5
@echo  ............................................
@echo  完成!完成!完成!完成!请查看 删除了的文件.txt
@echo  ............................................
start 删除了的文件.txt
exit
cls
:del2
@echo off
title 按后缀名删除文件 BY 拿来 QQ56059445;05/3/5
color a
cls
@echo      本批处理最好不能和要删除的文件夹放在一起,否则,也会一起消失!
@echo     ...............................................................
@echo           请输入要删除的文件名后缀(如;.jpg .txt .exe等)
@echo           ...............................................
set /p wjm=请输入后缀名(如;.jpg .txt .exe等按回车):
cls
@echo      请输入文件夹的完整路径 或 把文件夹放到这里
@echo      ..........................................  
@echo             (如;C:\ABC D:\ABC\123 E:\)
@echo             ...........................
set /p ml=请输入完整路径 或 把文件夹放到这里按回车:
@echo                   %date%%time%>删除了的文件.txt
dir %ml% /a-d/b/s>>dir1.txt
for /f "delims=" %%i in ('dir %ml% /a-d/b/s') do if %%~xi == %wjm% del "%%i" /a/s/f
dir %ml% /a-d/b/s>>dir2.txt
find /n "%wjm%" dir1.txt >>删除了的文件.txt
del dir?.txt /a/f/s
CLS
@echo  按后缀名删除文件 BY 拿来 QQ56059445;05/3/5
@echo  ............................................
@echo  完成!完成!完成!完成!请查看 删除了的文件.txt
@echo  ............................................
start 删除了的文件.txt
exitCOPY

返回列表