标题: [文件管理] 批处理按后缀名保留或删除文件 [打印本页]
作者: fml520 时间: 2008-3-15 11:17 标题: 批处理按后缀名保留或删除文件
废话不多说,看代码-
- @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
- exit
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |