Как установить переменную для самого последнего файла в другом каталоге для пакетного файла?

Проблема - это местозаполнитель. %@ не следует использовать с int, но с %d.

Итак, эта строка:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(alter_min_monat > %@)", months];

Должно быть:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(alter_min_monat > %d)", months];

Другая связанная информация: Руководство по программированию строк: спецификаторы формата строки

0
задан Compo 16 January 2019 в 17:01
поделиться

2 ответа

В вашем коде есть несколько ошибок. Не вдаваясь во все это, это то, что вы хотите? Если это так, сравните его с вашим кодом, чтобы увидеть различия. Это часто помогает заставить команды, которые вы пытаетесь использовать, работать перед циклом FOR.

set "DSS_File_Location=N:\HYD\Precip_Grids\"
for /f %%x in ('dir "%DSS_File_Location%*.dss" /od /a-d /b') do set "NEWEST=%%x"
0
ответ дан RGuggisberg 16 January 2019 в 17:01
поделиться

Вот, пожалуйста:

@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

Затем lasly мы используем токен %%a и присваиваем его переменной с именем latest, и мы повторяем его.

Чтобы помочь вам немного больше, узнайте об этих командах на вашем ПК. Откройте cmd.exe и введите thr следующим образом:

for /?
set /?
dir /?

, чтобы получить некоторую помощь, только для команд, которые мы использовали в этом разделе. Вы можете увидеть больше команд, набрав help в консоли cmd, а затем просто выполнив каждую интересующую вас команду с помощью переключателя /?.

Некоторые советы, вы заметите, что я добавил к пути двойные кавычки, которые не будут допускать появления пробелов. Наконец, даже при том, что он будет работать с /, лучше всего использовать стандарт Windows с обратными слешами в пути "N:\HYD\Precip_Grids\" ]

0
ответ дан Gerhard Barnard 16 January 2019 в 17:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: