Advertisement
Redee

Untitled

Jun 20th, 2022
1,571
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 4.90 KB | None | 0 0
  1. ::@echo off
  2. ::setlocal EnableDelayedExpansion
  3.  
  4. ::for /F "delims=" %%A in ('call dir "*USA.*" /a:-d /b /s') do (
  5. ::  echo %%A
  6. ::)
  7.  
  8.  
  9. :: БЕЗ EnableDelayedExpansion берем локальные переменные
  10. :: и корректно исполняет команды с аргументами с восклицательными знаками
  11. ::for /F "delims=" %%A in ('dir /a-d/b/s ^| findstr "idea"') do (
  12. ::  set "nn=2016-10/idea!!!!!.jpg"
  13. ::  call move /y "%%A" "%%nn%%"
  14. ::)
  15.  
  16. ::move /y "2016-10\idea!.jpg" "2016-10\idea!!!!!.jpg"
  17.  
  18. ::md 1
  19. ::for /F "delims=" %%A in ('dir /a-d/b/s ^| findstr "idea"') do (
  20. ::  call move /y "%%A" "2016-10/idea!!!!!.jpg"
  21. ::)
  22.  
  23.  
  24.  
  25.  
  26. :: проход по каталогам по файлам
  27. ::FOR /D %%A IN ("????-??") DO (
  28. ::  cd %%A
  29. ::  for /R %%B in (*) do (
  30. ::      echo %%~dpB
  31. ::  )
  32. ::  cd ..
  33. ::)
  34.  
  35.  
  36. ::set yms=("2022-04" "2022-05")
  37. ::for %%A in %yms% do (
  38. ::  set ym=%%A
  39. ::  set ym=!ym:~1,-1!
  40. ::  echo !ym!
  41. ::)
  42.  
  43. ::for /R "2022-05\" %%A in (*) do (
  44. ::  echo %%A
  45. ::)
  46.  
  47. ::FOR /D %%A IN ("????-??") DO (
  48. ::  for %%B in ('dir "./%%A\"') do (
  49. ::      echo %%B
  50. ::  )
  51. ::)
  52.  
  53.  
  54. ::set /a index=-1
  55. ::FOR /D %%A IN ("????-??") DO (
  56. ::  set /a index+=1
  57. ::  set ca[!index!]=%%A
  58. ::)
  59.  
  60. ::for /L %%A in (0,1,%index%) do (
  61. ::  set dd=!ca[%%A]!
  62. ::  for /R "!dd!" %%B in (*) do (
  63. ::      echo %%B
  64. ::  )
  65. ::)
  66.  
  67.  
  68.  
  69.     ::for /r "!ca!" %%B in (*) do (
  70.     ::  echo %%B
  71.     ::)
  72.  
  73.     :: здесь более точная проверка с FINDSTR
  74.     ::FOR /R  %%B IN (*) DO (
  75.     ::  echo %%B
  76.     ::)
  77.     ::
  78.    
  79. :: прогнать только Целевые каталоги год-месяц...
  80.     ::set "ca=./%%A\"
  81.     ::echo !ca!
  82.     ::FOR /R "!ca!" %%B IN (*) DO (
  83. ::FOR /D %%A IN ("????-??") DO (
  84. ::  FOR /R %%B IN (*) DO (
  85. ::      echo %%B
  86. ::  )
  87. ::)
  88.  
  89. ::SET STRING=2022-15
  90. ::echo %STRING% | FINDSTR /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9].$" >:nul && set strf=%STRING% || set "strf="
  91. ::echo %strf%
  92.  
  93.  
  94.  
  95. ::SET STRING=F00BAH
  96. ::SET SUBSTRING=F00
  97. ::echo %STRING% | FINDSTR /C:"%SUBSTRING%" >:nul && set strf=%STRING% || set "strf="
  98. ::echo %strf%
  99.  
  100. ::set "ccc="
  101. ::if "%ccc%" == "" (echo 111) else (echo 222)
  102.  
  103. :: поискать FOR, делиметры
  104. :: которые точно делают Итерацию по указанному Разделителю
  105. :: чтобы НЕ считало пробелы
  106. :: проверка строки НИЖЕ rr
  107. :: потому что в итоге работаем с чистой строкой
  108. :: добиться того чтобы Точно по "delims=\" Запускался цикл
  109. :: сейчас меня "выбивает" - НЕ правильный синтаксис
  110.  
  111. :: отрезка после 1 разделителя Остальной части
  112. ::set "rr=d:sdf 123\ewr 564\zxc 789 \ dddddd 1111"
  113. ::set val=%rr:*\=%
  114. ::echo !val!
  115.  
  116. :: отрезка 1 части до 1 разделителя
  117. ::set "val=%rr:\=" & rem "%"
  118. ::echo !val!
  119.  
  120.  
  121. ::tokens=2
  122. ::for /f "delims=\" %%a in ("%rr%") do (
  123. ::  echo %%a
  124. ::)
  125. ::  set val=%%a
  126. ::  echo !val!
  127.  
  128. ::set "rr=172345789"
  129. ::set count=0
  130. ::for %%a in (%rr:\= %) do (
  131. ::  set dd=%%a
  132. ::  echo !dd!
  133. ::)
  134. ::echo %count%
  135.  
  136.  
  137.  
  138.  
  139.     ::set /a f_count=0
  140.     ::for /R %%b in ("!fc!/*") DO (
  141.     ::  set /a f_count+=1
  142.     :: 
  143.     ::)
  144.     ::
  145.     ::echo !f_count!
  146.     ::if !f_count! == 0 rd "!fc!"
  147.  
  148.  
  149.  
  150. ::for /D %%a in ("????-??") DO (
  151. ::  cd %%a
  152. ::  for %%c in %countries% do (
  153. ::      set cr=%%c
  154. ::      set cr=!cr:~1,-1!
  155. ::     
  156. ::      for /F "delims=" %%A in ('dir "%folder1%/*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
  157. ::          set ym=%%~dpA
  158. ::          set ym=!ym:~-8,7!
  159. :: 
  160. ::          set "fc=../%folder_sort%/!cr!"
  161. ::          if not exist "!fc!\" md "!fc!\"
  162. ::          move /y "%%A" "!fc!/!ym! %%~nxA"
  163. ::      )
  164. ::  )
  165. ::  cd..
  166. ::)
  167.  
  168.  
  169.  
  170. ::for /D %%a in ("????-??") DO (
  171. ::  for %%c in %countries% do (
  172. ::      set cr=%%c
  173. ::      set cr=!cr:~1,-1!
  174. ::     
  175. ::      robocopy "%%a" "%folder_sort%/!cr!" *!cr!*
  176. ::  )
  177. ::)
  178.  
  179.  
  180.  
  181.  
  182.     ::for %%c in %countries% do (
  183.     ::  set cr=%%c
  184.     ::  set cr=!cr:~1,-1!
  185.     :: 
  186.     ::  for /F "delims=" %%A in ('dir "%folder1%/*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
  187.     ::      set ym=%%~dpA
  188.     ::      set ym=!ym:~-8,7!
  189.     ::
  190.     ::      set "fc=../%folder_sort%/!cr!"
  191.     ::      if not exist "!fc!\" md "!fc!\"
  192.     ::      move /y "%%A" "!fc!/!ym! %%~nxA"
  193.     ::  )
  194.     ::)
  195.  
  196.  
  197.  
  198.  
  199.  
  200.             ::echo !ym! | findstr /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9]" ^
  201.             ::>:nul && set /a ym_found=1 || set /a ym_found=0
  202.             ::
  203.             ::if !ym_found! == 1 (
  204.             ::  set "fc=../%folder_sort%/!cr!"
  205.             ::  if not exist "!fc!\" md "!fc!\"
  206.  
  207.  
  208.  
  209.  
  210.        
  211. ::for %%c in %countries% do (
  212. ::  set cr=%%c
  213. ::  set cr=!cr:~1,-1!
  214. ::  for /F "delims=" %%A in ('dir "%folder1%\*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
  215. ::      set ym=%%~dpA
  216. ::      set ym=!ym:~-8,7!
  217. ::     
  218. ::      echo !ym! | findstr /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9]" ^
  219. ::      >:nul && set /a ym_found=1 || set /a ym_found=0
  220. ::     
  221. ::      if !ym_found! == 1 (
  222. ::          set "fc=%folder_sort%/!cr!"
  223. ::          if not exist "!fc!\" md "!fc!\"
  224. ::          move /y "%%A" "!fc!/!ym! %%~nxA"
  225. ::      )
  226. ::  )
  227. ::)
  228.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement