Вот, пожалуйста:
@echo off
set "DSS_File_Location=N:\HYD\Precip_Grids\"
for /f "delims=" %%a in ('dir /b /a-d /od "%DSS_File_Location%*.dss"') do set "latest=%%a"
echo %latest%
Как это работает. Вы устанавливаете переменную с именем DSS_File_Location
со значением вашего пути.
Затем мы выполняем цикл for для каждого файла, используя команду dir, используя пустой формат и используя atribbutes /a-d
, что означает, что он исключит каталоги в команде dir, а затем отсортирует их по дате и времени как более старшие. dir /b /a-d /od "%DSS_File_Location%*.dss
Затем мы с легкостью используем токен %%a
и присваиваем его переменной с именем latest
, и мы повторяем его.
Чтобы помочь вам немного больше, узнайте об этих командах на вашем ПК. Откройте cmd.exe
и введите следующее:
for /?
set /?
dir /?
, чтобы получить некоторую помощь, только для команд, которые мы использовали в этой теме. Вы можете увидеть больше команд, набрав help
в консоли cmd, а затем просто запустив каждую интересующую вас команду с помощью переключателя /?
.
Некоторые советы, вы заметите, что я добавил к пути двойные кавычки, которые не будут допускать появления пробелов. Наконец, даже при том, что он будет работать с /
, лучше всего использовать стандартную обратную косую черту Windows в пути "N:\HYD\Precip_Grids\"