Board logo

标题: [文件管理] 批处理按后缀名保留或删除文件 [打印本页]

作者: fml520    时间: 2008-3-15 11:17     标题: 批处理按后缀名保留或删除文件

废话不多说,看代码
  1. @echo off
  2. title 按后缀名保留或删除文件 BY 拿来 QQ56059445;05/3/5
  3. color 4f
  4. :cd
  5. cls
  6. @echo.┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  7. @echo.┃                              请选择                                    ┃
  8. @echo.┃                                                                        ┃
  9. @echo.┃                                                                        ┃
  10. @echo.┃    1.按后缀名保留文件                          2.按后缀名删除文件      ┃
  11. @echo.┃                                                                        ┃
  12. @echo.┃                     拿来制作: QQ56059445;05/3/5                       ┃
  13. @echo.┃                                                                        ┃
  14. @echo.┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  15. @echo.
  16. set /p p=请选择:
  17. if /i %p% == 1 goto del1
  18. if /i %p% == 2 goto del2
  19. goto cd
  20. :del1
  21. @echo off
  22. title 按后缀名保留删除文件 BY 拿来 QQ56059445;05/3/5
  23. color a
  24. cls
  25. @echo      本批处理最好不能和要删除的文件夹放在一起,否则,也会一起消失!
  26. @echo     ...............................................................
  27. @echo           请输入要保留的文件名后缀(如;.jpg .txt .exe等)
  28. @echo           ...............................................
  29. set /p wjm=请输入后缀名(如;.jpg .txt .exe等按回车):
  30. cls
  31. @echo      请输入文件夹的完整路径 或 把文件夹放到这里
  32. @echo      ..........................................  
  33. @echo             (如;C:\ABC D:\ABC\123 E:\)
  34. @echo             ...........................
  35. set /p ml=请输入完整路径 或 把文件夹放到这里按回车:
  36. @echo                   %date%%time%>删除了的文件.txt
  37. dir %ml% /a-d/b/s>>dir1.txt
  38. for /f "delims=" %%i in ('dir %ml% /a-d/b/s') do if %%~xi neq %wjm% del "%%i" /a/s/f
  39. dir %ml% /a-d/b/s>>dir2.txt
  40. find /v "%wjm%" dir1.txt >>删除了的文件.txt
  41. del dir?.txt /a/f/s
  42. CLS
  43. @echo  按后缀名保留文件 BY 拿来 QQ56059445;05/3/5
  44. @echo  ............................................
  45. @echo  完成!完成!完成!完成!请查看 删除了的文件.txt
  46. @echo  ............................................
  47. start 删除了的文件.txt
  48. exit
  49. cls
  50. :del2
  51. @echo off
  52. title 按后缀名删除文件 BY 拿来 QQ56059445;05/3/5
  53. color a
  54. cls
  55. @echo      本批处理最好不能和要删除的文件夹放在一起,否则,也会一起消失!
  56. @echo     ...............................................................
  57. @echo           请输入要删除的文件名后缀(如;.jpg .txt .exe等)
  58. @echo           ...............................................
  59. set /p wjm=请输入后缀名(如;.jpg .txt .exe等按回车):
  60. cls
  61. @echo      请输入文件夹的完整路径 或 把文件夹放到这里
  62. @echo      ..........................................  
  63. @echo             (如;C:\ABC D:\ABC\123 E:\)
  64. @echo             ...........................
  65. set /p ml=请输入完整路径 或 把文件夹放到这里按回车:
  66. @echo                   %date%%time%>删除了的文件.txt
  67. dir %ml% /a-d/b/s>>dir1.txt
  68. for /f "delims=" %%i in ('dir %ml% /a-d/b/s') do if %%~xi == %wjm% del "%%i" /a/s/f
  69. dir %ml% /a-d/b/s>>dir2.txt
  70. find /n "%wjm%" dir1.txt >>删除了的文件.txt
  71. del dir?.txt /a/f/s
  72. CLS
  73. @echo  按后缀名删除文件 BY 拿来 QQ56059445;05/3/5
  74. @echo  ............................................
  75. @echo  完成!完成!完成!完成!请查看 删除了的文件.txt
  76. @echo  ............................................
  77. start 删除了的文件.txt
  78. exit
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2