Board logo

标题: [文件操作] [分享]两年前写的批处理照片整理器 [打印本页]

作者: canyuexiaolang    时间: 2012-2-3 17:19     标题: [分享]两年前写的批处理照片整理器

两年前写过照片整理器。我了个去那些错啊。还发到原创代码里面了。

今天给删了。。。。我又写了个

鉴于技术垃圾,就不往那里发了。。
  1. ::Function-----------------------------------------------------------------
  2. :Folder
  3. Set "Folder="
  4. Set /p Folder=Folder Name:
  5. IF NOT DEFINED Folder Cls & Goto Folder
  6. Call :Check !Folder!
  7. Goto :eof
  8. :Check //FolderName
  9. Set "Folder=%~1"
  10. IF "!Folder!"=="?" Cls & Goto Folder
  11. IF NOT EXIST "!Folder!" Cls & Echo !Folder! DOES NOT EXIST! & Goto Folder
  12. For /f "usebackq tokens=* delims= eol=" %%i in ('!Folder!') do (
  13. Set "ATTR=%%~ai" & Set "ATTR=!ATTR:~0,1!"
  14. IF /I NOT "!ATTR!"=="d" Cls & Echo !Folder! DOES NOT A Folder & Goto Folder
  15. )
  16. Goto Choice
  17. Goto :eof
  18. :CheckFiles
  19. Echo -----------------------------------------------------------------------
  20. Set "All=0"
  21. Set "Num=0"
  22. For %%i in (!Type!) do (
  23. For /R "%Folder%" %%j in (*.%%i) do Set /a Num+=1
  24. Set /p= %%i:!Num! <nul
  25. Set /a All=!Num!+!All!
  26. Set "Num=0"
  27. )
  28. Echo Total:!All!
  29. Echo -----------------------------------------------------------------------
  30. Title !Title! ^| Total:!All! Done:0
  31. Goto :eof
  32. :CheckFolder //Type or Date [Folder]
  33. IF /i "%~1"=="Type" (
  34. IF NOT EXIST PhotoFinisher\Type\JPG Md PhotoFinisher\Type\JPG
  35. IF NOT EXIST PhotoFinisher\Type\BMP Md PhotoFinisher\Type\BMP
  36. IF NOT EXIST PhotoFinisher\Type\JPEG Md PhotoFinisher\Type\JPEG
  37. IF NOT EXIST PhotoFinisher\Type\GIF Md PhotoFinisher\Type\GIF
  38. IF NOT EXIST PhotoFinisher\Type\PNG Md PhotoFinisher\Type\PNG
  39. )
  40. IF /i "%~1"=="Date" IF NOT EXIST PhotoFinisher\Date\%~2年\%~3月\%~4日 Md PhotoFinisher\Date\%~2年\%~3月\%~4日
  41. Goto :eof
  42. :CheckSame //Type or Date
  43. Set "Same=0"
  44. If /i "%~1"=="Type" (
  45. For /R "%cd%\PhotoFinisher\Type\%~3" %%x in (*.%~3) do Set /a Same+=1
  46. If "!Same!"=="0" (
  47. Copy "%~4" "PhotoFinisher\Type\%~3" >nul 2>nul
  48. Call :ADD %ERRORLEVEL%
  49. ) ELSE (
  50. Copy "%~4" "PhotoFinisher\Type\%~3\%~2_!Same!.%~3" >nul 2>nul
  51. Call :ADD %ERRORLEVEL%
  52. )
  53. )
  54. If /i "%~1"=="Date" (
  55. For /R "%cd%\PhotoFinisher\Date\%~5年\%~6月\%~7日" %%x in (*.%~3) do Set /a Same+=1
  56. If "!Same!"=="0" (
  57. Copy "%~4" "PhotoFinisher\Date\%~5年\%~6月\%~7日" >nul 2>nul
  58. Call :ADD %ERRORLEVEL%
  59. ) ELSE (
  60. Copy "%~4" "PhotoFinisher\Date\%~5年\%~6月\%~7日\%~2_!Same!.%~3" >nul 2>nul
  61. Call :ADD %ERRORLEVEL%
  62. )
  63. )
  64. Goto :eof
  65. :Type
  66. Title !Title! ^| Total:!All! Done:0 ^| Type Mode
  67. Set "NumDone=0"
  68. Call :AreUSure Type
  69. Call :CheckFolder Type
  70. For %%i in (!Type!) do For /R "%Folder%" %%j in (*.%%i) do Call :CheckSame Type "%%~nj" "%%i" "%%j"
  71. Call :Result Type
  72. Goto :eof
  73. :Date
  74. Title !Title! ^| Total:!All! Done:0 ^| Date Mode
  75. For %%i in (!Type!) do (For /r "%Folder%" %%j in (*.%%i) do (
  76. For /f "tokens=1-3 delims=/ " %%m in ("%%~tj") do Call :CheckFolder Date %%m %%n %%o))
  77. Call :AreUSure Type
  78. For %%i in (!Type!) do (For /r "%Folder%" %%j in (*.%%i) do (For /f "tokens=1-3 delims=/ " %%m in ("%%~tj") do (
  79. Call :CheckSame Date "%%~nj" "%%i" "%%j" %%m %%n %%o)))
  80. Call :Result Date
  81. Goto :eof
  82. :ADD
  83. If "%ERRORLEVEL%"=="0" (
  84. Set /a NumDone+=1
  85. Title !Title! ^| Total:!All! Done:!NumDone! ^| Type Mode
  86. )
  87. Goto :eof
  88. :AreUSure
  89. Set /p Choice=Using %~1 Mode. Are you sure? (Y/N):
  90. If /i "!Choice:~0,1!"=="Y" Goto :eof
  91. If /i "!Choice:~0,1!"=="N" Cls & Goto Choice
  92. Goto AreUSure %~1
  93. Goto :eof
  94. :Result
  95. Echo -----------------------------------------------------------------------
  96. Echo %~1 Mode Total:!All! Done:!NumDone!
  97. Echo -----------------------------------------------------------------------
  98. Echo CopyRight (C) Canyuexiaolang
  99. Ping 127.1 -n 5 >nul & Exit
  100. Goto :eof
  101. ::Function------------------------------------------------------------------
复制代码

作者: find    时间: 2012-2-3 19:52

能否介绍一下跟这个的主要区别?
http://bbs.bathome.net/thread-69-1-1.html
作者: canyuexiaolang    时间: 2012-2-3 19:58

回复 2# find


   只是练手罢了。和JM差了一大大大大大大截有木有。。
作者: sxw    时间: 2012-2-12 10:38

按什么规律整理啊?
作者: 523066680    时间: 2012-2-13 15:10

消遣区斑竹表示鸭梨很大……




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