Следующий пример предназначен для установки двух самых верхних возвращаемых файлов как переменных типа массива %Newest[1]%
и %Newest[2]%
@For /F "Delims==" %%A In ('Set Newest[ 2^>NUL')Do @Set "%%A="
@For /F "Tokens=1*Delims=:" %%A In ('Dir /B/A-D-S/O-D/TC 2^>NUL^|FindStr /N "^"'
)Do @If %%A LEq 2 (Set "Newest[%%A]=%%B")Else GoTo Next
:Next
@Set Newest[ 2>NUL&&Pause
Последняя строка была включена только для того, чтобы показать вам любые переменные, созданные изпетля. Очевидно, вы заменили бы эту строку своим собственным кодом или оставили бы как есть, и поместили бы свой код под ним. Если вы хотите использовать последние созданные метки даты и времени вместо созданных, замените /TC
на /TW
в строке 2
Не по теме : вотпример его использования, основанный на вашем позже опубликованном вопросе, после удаления:
@Echo Off
For /F "Delims==" %%A In ('Set Newest 2^>NUL')Do Set "%%A="
For /F "Tokens=1-2*Delims=:" %%A In ('Dir /B/A-D-S/O-D/TC "Checkpoints" 2^>NUL^
^|FindStr /N "^"')Do If %%A LEq 2 (Set "Newest%%A=%%B")Else GoTo Next
:Next
Set "DT1="&For /F "Tokens=1*Delims=_" %%A In ('Set Newest 2^>NUL'
)Do If Not Defined DT1 (Set "DT1=%%~nB")Else Set "DT2=%%~nB"
If Not Defined DT1 Exit /B
Set "Target=Differences\Difference_%DT1%_%DT2%.csv"
Set Newest 2>NUL
Set Target 2>NUL
If Not Exist "Differences\" MD "Differences"
Pause