2

Как я собираюсь автоматически проверить все файлы, которые были добавлены в каталог, а затем сразу деформировать его?Потому что каждый день я скачиваю файлы hdf и время от времени деформирую - это пустая трата времени. Вот почему мне это нужно в пакетном и автоматическом режиме.

Заранее спасибо!

сценарий:

set in_path=path_to_input
set out_path=path_to_output

md %out_path%
cd /d %in_path%

FORFILES /m *A1_AC*.hdf /C "cmd /c gdalwarp -geoloc -t_srs EPSG:4326 -te 113.205 1.120 157.105 2.005 HDF4_SDS:hdf:@file:01 %out_path%\@fname.tif"*

1 ответ1

0

Вы можете отсортировать содержимое каталога по дате создания (/tc) (/-od) (по убыванию, сначала самое новое)

dir /o-d /tc

затем проанализируйте первое (дата) и / или второе (время) поле и сравните с текущей датой (%date%) и временем (%time%) с оператором сравнения if :

for /f "tokens=1,2,5" %a in ('dir /-b /o-d /tc') do @if %a==%date:~4% (if %b==%time:~0,5% (echo %c))

выбирает первое (дата), второе (время) и пятое (имя файла) поля, если условие истинно, выводит последнее (%c)


заметки

  • добавление дополнительного % к локальному for переменных требуется, если код помещен в скрипт (файл .bat)
  • время (короткое время на intl.cpl) в машине должно быть в формате H:mm tt (H = 24), так как вывод dir зависит от него
  • :~ в %date% и %time% внутри кода - оператор манипуляции со строками (substring), чтобы их значения соответствовали формату даты и времени в выводе dir
  • запланированное задание для проверки событий на временной основе и запуска соответствующего кода / сценария может быть создано с помощью внешней команды schtasks (%windir%\system32\schtasks.exe)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .