Задача:
Необходимо в bat-нике (MS-DOS Shell, скрипте, командном файле) отобрать файл с самой ранней датой изменения по заданной маске и пути.
Решение:
Пусть нам нужно найти все файлы, соответствующие маске «MyFile*-??.??.??.xlsx», в папке «C:\Temp files\Local»
Код: Выделить всё
set "filename="
REM Выводим список файлов (без папок) по маске, в хронологической последовательности
for /f "delims=#" %%i in ('dir /b /T:C /A:-D /O:D "C:\Temp files\Local\MyFile*-??.??.??.xlsx"') do (
REM Берем первый файл
set "filename=%%~i"
REM Выходим из цикла
goto:endCycle
)
:endCycle
Echo %filename%
Примечание:
Изменяя опции запуска команды Dir, можно выбрать файл с самой поздней датой изменения, а так же отбирать файлы и папки не только по дате изменения, но так же по дате создания и дате последнего доступа.