Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ::@echo off
- ::setlocal EnableDelayedExpansion
- ::for /F "delims=" %%A in ('call dir "*USA.*" /a:-d /b /s') do (
- :: echo %%A
- ::)
- :: БЕЗ EnableDelayedExpansion берем локальные переменные
- :: и корректно исполняет команды с аргументами с восклицательными знаками
- ::for /F "delims=" %%A in ('dir /a-d/b/s ^| findstr "idea"') do (
- :: set "nn=2016-10/idea!!!!!.jpg"
- :: call move /y "%%A" "%%nn%%"
- ::)
- ::move /y "2016-10\idea!.jpg" "2016-10\idea!!!!!.jpg"
- ::md 1
- ::for /F "delims=" %%A in ('dir /a-d/b/s ^| findstr "idea"') do (
- :: call move /y "%%A" "2016-10/idea!!!!!.jpg"
- ::)
- :: проход по каталогам по файлам
- ::FOR /D %%A IN ("????-??") DO (
- :: cd %%A
- :: for /R %%B in (*) do (
- :: echo %%~dpB
- :: )
- :: cd ..
- ::)
- ::set yms=("2022-04" "2022-05")
- ::for %%A in %yms% do (
- :: set ym=%%A
- :: set ym=!ym:~1,-1!
- :: echo !ym!
- ::)
- ::for /R "2022-05\" %%A in (*) do (
- :: echo %%A
- ::)
- ::FOR /D %%A IN ("????-??") DO (
- :: for %%B in ('dir "./%%A\"') do (
- :: echo %%B
- :: )
- ::)
- ::set /a index=-1
- ::FOR /D %%A IN ("????-??") DO (
- :: set /a index+=1
- :: set ca[!index!]=%%A
- ::)
- ::for /L %%A in (0,1,%index%) do (
- :: set dd=!ca[%%A]!
- :: for /R "!dd!" %%B in (*) do (
- :: echo %%B
- :: )
- ::)
- ::for /r "!ca!" %%B in (*) do (
- :: echo %%B
- ::)
- :: здесь более точная проверка с FINDSTR
- ::FOR /R %%B IN (*) DO (
- :: echo %%B
- ::)
- ::
- :: прогнать только Целевые каталоги год-месяц...
- ::set "ca=./%%A\"
- ::echo !ca!
- ::FOR /R "!ca!" %%B IN (*) DO (
- ::FOR /D %%A IN ("????-??") DO (
- :: FOR /R %%B IN (*) DO (
- :: echo %%B
- :: )
- ::)
- ::SET STRING=2022-15
- ::echo %STRING% | FINDSTR /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9].$" >:nul && set strf=%STRING% || set "strf="
- ::echo %strf%
- ::SET STRING=F00BAH
- ::SET SUBSTRING=F00
- ::echo %STRING% | FINDSTR /C:"%SUBSTRING%" >:nul && set strf=%STRING% || set "strf="
- ::echo %strf%
- ::set "ccc="
- ::if "%ccc%" == "" (echo 111) else (echo 222)
- :: поискать FOR, делиметры
- :: которые точно делают Итерацию по указанному Разделителю
- :: чтобы НЕ считало пробелы
- :: проверка строки НИЖЕ rr
- :: потому что в итоге работаем с чистой строкой
- :: добиться того чтобы Точно по "delims=\" Запускался цикл
- :: сейчас меня "выбивает" - НЕ правильный синтаксис
- :: отрезка после 1 разделителя Остальной части
- ::set "rr=d:sdf 123\ewr 564\zxc 789 \ dddddd 1111"
- ::set val=%rr:*\=%
- ::echo !val!
- :: отрезка 1 части до 1 разделителя
- ::set "val=%rr:\=" & rem "%"
- ::echo !val!
- ::tokens=2
- ::for /f "delims=\" %%a in ("%rr%") do (
- :: echo %%a
- ::)
- :: set val=%%a
- :: echo !val!
- ::set "rr=172345789"
- ::set count=0
- ::for %%a in (%rr:\= %) do (
- :: set dd=%%a
- :: echo !dd!
- ::)
- ::echo %count%
- ::set /a f_count=0
- ::for /R %%b in ("!fc!/*") DO (
- :: set /a f_count+=1
- ::
- ::)
- ::
- ::echo !f_count!
- ::if !f_count! == 0 rd "!fc!"
- ::for /D %%a in ("????-??") DO (
- :: cd %%a
- :: for %%c in %countries% do (
- :: set cr=%%c
- :: set cr=!cr:~1,-1!
- ::
- :: for /F "delims=" %%A in ('dir "%folder1%/*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
- :: set ym=%%~dpA
- :: set ym=!ym:~-8,7!
- ::
- :: set "fc=../%folder_sort%/!cr!"
- :: if not exist "!fc!\" md "!fc!\"
- :: move /y "%%A" "!fc!/!ym! %%~nxA"
- :: )
- :: )
- :: cd..
- ::)
- ::for /D %%a in ("????-??") DO (
- :: for %%c in %countries% do (
- :: set cr=%%c
- :: set cr=!cr:~1,-1!
- ::
- :: robocopy "%%a" "%folder_sort%/!cr!" *!cr!*
- :: )
- ::)
- ::for %%c in %countries% do (
- :: set cr=%%c
- :: set cr=!cr:~1,-1!
- ::
- :: for /F "delims=" %%A in ('dir "%folder1%/*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
- :: set ym=%%~dpA
- :: set ym=!ym:~-8,7!
- ::
- :: set "fc=../%folder_sort%/!cr!"
- :: if not exist "!fc!\" md "!fc!\"
- :: move /y "%%A" "!fc!/!ym! %%~nxA"
- :: )
- ::)
- ::echo !ym! | findstr /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9]" ^
- ::>:nul && set /a ym_found=1 || set /a ym_found=0
- ::
- ::if !ym_found! == 1 (
- :: set "fc=../%folder_sort%/!cr!"
- :: if not exist "!fc!\" md "!fc!\"
- ::for %%c in %countries% do (
- :: set cr=%%c
- :: set cr=!cr:~1,-1!
- :: for /F "delims=" %%A in ('dir "%folder1%\*!cr!*" /a-d/b/s ^| findstr /L "!cr!"') do (
- :: set ym=%%~dpA
- :: set ym=!ym:~-8,7!
- ::
- :: echo !ym! | findstr /R "^[0-9][0-9][0-9][0-9][-][0-9][0-9]" ^
- :: >:nul && set /a ym_found=1 || set /a ym_found=0
- ::
- :: if !ym_found! == 1 (
- :: set "fc=%folder_sort%/!cr!"
- :: if not exist "!fc!\" md "!fc!\"
- :: move /y "%%A" "!fc!/!ym! %%~nxA"
- :: )
- :: )
- ::)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement