Примерное решение задачи.
Код:
@echo off
setlocal enabledelayedexpansion
call:setVariables
for /f "tokens=1,* delims==" %%i in ('set sklad') do (
for /f %%k in ('dir /ad/tc %%j ^| findstr /irc:"folder"') do (
call:convertToJulian %%k
set "!julian!=%%j"
)
)
set "ts=0"
for /f "tokens=1,* delims==" %%i in ('set^
^| findstr /irc:"[0-9].*\sklad"') do if %%i gtr !ts! set "ts=%%i"
for /f "tokens=1,* delims==" %%i in ('set^
^| findstr /brc:"!ts!"') do (
for /f "tokens=1" %%k in ('dir /ad/tc "%%j"^
^| findstr /irc:"folder"') do set "latest=%%j %%k"
)
echo:!latest!
endlocal
exit /b
:setVariables
for /l %%i in (65, 1, 90) do (
cmd /c exit /b %%i
set "l=!=exitcodeascii!"&set "d=!l!:\Sklad"
if exist "!d!" set "Sklad!l!=!d!"
)
exit /b
:convertToJulian
set "day=%~1"
set /a "dd=%day:~0,2%, mm=%day:~3,2%, yy=%day:~6,4%"
if %mm% lss 3 set /a "mm+=12, yy-=1"
set /a "a=yy/100, b=a/4, c=2-a+b, e=36525*(yy+4716)/100, f=306*(mm+1)/10"
set /a "julian=c+dd+e+f-1524"
exit /b