Board logo

标题: 文件分类、删除空文件夹的组合批处理有没有多余或错误? [打印本页]

作者: comicguests    时间: 2011-7-3 00:20     标题: 文件分类、删除空文件夹的组合批处理有没有多余或错误?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :choose
  4. set /p "c=从头开始0 追加1 删除多余2"
  5. if /i "!c!"=="0" goto 1
  6. if /i "!c!"=="1" goto 2
  7. if /i "!c!"=="2" goto 3
  8. goto choose
  9. :1
  10. ::setlocal enabledelayedexpansion&cls
  11. path=%path%;%~d0\DOS\网络;%~d0\DOS\command\第三方命令行程序;
  12. %~d0\DOS\command;%~d0\DOS\源码;%~d0\DOS\sysbkup
  13. md F:\download\&cd.>F:\download\☆キラ☆.bat
  14. >>F:\download\☆キラ☆.bat echo @echo off&title
  15. >>F:\download\☆キラ☆.bat echo goto:kiriri
  16. >>F:\download\☆キラ☆.bat echo :comic
  17. >>F:\download\☆キラ☆.bat echo for /f "delims=" %%%%i in ^('dir
  18. /ad /b /s^^^|sort /r'^) do rd /q "%%%%i" 2^>nul
  19. >>F:\download\☆キラ☆.bat echo exit
  20. >>F:\download\☆キラ☆.bat echo :kiriri
  21. :start ============================================================
  22. set /p "str_key=输入关键词:"
  23. set /p "sourPath=输入文件夹地址:"
  24. >>F:\download\☆キラ☆.bat echo for /r %%%%a in (*%str_key%*.rmvb)
  25. do move %%%%~sa %sourPath%
  26. >>F:\download\☆キラ☆.bat echo for /r /d %%%%a in (*%str_key%*) do
  27. del /a /f /s "%%%%a\*.torrent"
  28. set "choice="&set/p choice=是否继续添加?(y/n):
  29. if /i "%choice%"=="y" goto:start
  30. if /i "%choice%"=="n" >>F:\download\☆キラ☆.bat echo goto:comic
  31. :end ==============================================================
  32. goto :eof
  33. :2
  34. setlocal enabledelayedexpansion
  35. sed -i "s/goto:comic/==============/g" ☆キラ☆.bat
  36. :start ============================================================
  37. set /p "str_key=输入关键词:"
  38. set /p "sourPath=输入文件夹地址:"
  39. >>F:\download\☆キラ☆.bat echo for /r %%%%a in (*%str_key%*.rmvb)
  40. do move %%%%~sa %sourPath%
  41. >>F:\download\☆キラ☆.bat echo for /r /d %%%%a in (*%str_key%*) do
  42. del /a /f /s "%%%%a\*.torrent"
  43. set "choice="&set/p choice=是否继续添加?(y/n):
  44. if /i "%choice%"=="y" goto:start
  45. if /i "%choice%"=="n" >>F:\download\☆キラ☆.bat echo goto:comic
  46. :end ==============================================================
  47. goto :eof
  48. :3
  49. setlocal
  50. set n=
  51. set f="☆キラ☆.bat"
  52. for /f "delims=* tokens=2" %%i in ('findstr /rc:" (.*\*.*\*.*) " %f%') do (
  53.     if not defined _%%i (
  54.         set str=%%i
  55.         set /a n += 1
  56.         setlocal enabledelayedexpansion
  57.         echo [!n!] !str!
  58.         for /f "tokens=1,2 delims=*" %%a in ("!n!*!str!") do (
  59.             endlocal
  60.             set _%%b=_
  61.             set #%%a=%%b
  62.         )
  63.     )
  64. )
  65. :aki ============================================================
  66. set /p "str_key=删除哪个?:"
  67. setlocal enabledelayedexpansion
  68. findstr /vrc:" (.*\*!#%str_key%!\*.*) " !f! >..tmp
  69. endlocal
  70. move ..tmp %f%
  71. set "choice="&set/p choice=是否继续删除?(y/n):
  72. if /i "%choice%"=="y" goto:aki
  73. if /i "%choice%"=="n" exit
  74. endlocal
复制代码
补充说明:
目的1:生成一个批处理,可以将F:\download下的视频文件按名称分类移动到F:\视频\*文件夹下(包括子文件夹,若子文件夹里有种子文件,删除)然后删除已空的文件夹;
目的2:可以追加新内容到已生成的☆キラ☆.bat里;
目的3:显示关键词,按选择删除
作者: CUer    时间: 2011-7-3 11:50

你连代码的功能都不说清楚,别人如何从根本上帮你简化?
作者: batman    时间: 2011-7-3 12:23

真正优化后代码应在20行内。。。建议楼主去学习下more命令。。。




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