[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 hfxiang 于 2022-8-16 20:04 编辑
  1. @echo off
  2. @rem 只保留以 111 和 222 为开头的文件夹,以 333 和 444 为开头的文件,以及所有.ini 和.exe 文件。
  3. @setlocal enableDelayedExpansion
  4. for /f "delims==" %%a in ('set _retain_ 2^>nul') do set "%%a="
  5. set "_retain_Folder_111=True"
  6. set "_retain_Folder_222=True"
  7. set "_retain_File_333=True"
  8. set "_retain_File_444=True"
  9. set "_retain_File_.ini=True"
  10. set "_retain_File_.exe=True"
  11. for /r %%a in (.,*) do (
  12. set "Dir_a=%%~aa"
  13. set "Dir_x=%%~xa"
  14. set "Dir_n=%%~na"
  15. set "Dir_n=!Dir_n:~0,3!"
  16. if /i not "[%cd%]"=="[%%~fa]" if /i not "[%~f0]"=="[%%~fa]" if defined Dir_a if "[!Dir_a:~0,1!]"=="[d]" (
  17. if not defined _retain_Folder_!Dir_n! rd /q/s "%%~fa"
  18. ) else (
  19. set "_retain_File_T="
  20. if defined _retain_File_!Dir_n! set "_retain_File_T=True"
  21. if defined _retain_File_!Dir_x! set "_retain_File_T=True"
  22. if not defined _retain_File_T del/f/s/q "%%~fa"
  23. )
  24. )
  25. endlocal
  26. echo;&pause
  27. exit /b
复制代码

TOP

回复 40# qixiaobin0715


学习了一下,虽然没做测试,感觉这些代码对文件夹的处置部分可行,对文件的处置部分有可能工作起来不太顺畅。

TOP

回复 42# smatenchen


用什么都一样,这个只是表示标识的存在与否,更直白地说是这个标识“有值”和“无值”的问题

TOP

回复 44# smatenchen


    本人认为更高效,但实际情况你可以用大量一点的数据来测试对,有时还是相信自己的测试比较好!

TOP

回复 48# smatenchen


    你自行测试一下不就知道对错了????

TOP

返回列表