Cmd: сравнить две даты файла - PullRequest
0 голосов
/ 04 сентября 2018

В сценарии cmd (это то же самое, что и пакетный сценарий?) Я хочу выполнить команду, только если file1 новее, чем file2. Оба файла находятся в одном каталоге.

Я нашел много вещей на SO , но никто не делает именно то, что мне нужно, или делает это очень окольным путем или не учитывайте локализацию.

Просто как то так:

if "%file1%" is_newer_than "%file2%" (
  execute command
)
  • Я не хочу найти который файл новее.
  • Я не хочу найти дату самого нового файла.
  • Он должен быть независимым от локали, поэтому нельзя использовать строковые манипуляции с форматированной датой (скрипт будет использоваться по всему миру)
  • Сама команда не с учетом даты, в отличие от xcopy.

Этот ответ выглядит наиболее многообещающим, но я понятия не имею, как использовать эту функцию дважды в выражении if.

1 Ответ

0 голосов
/ 04 сентября 2018

dir /b /a:-d /o:d /t:w %file1% %file2% должен сортировать файлы по времени записи /o:-d обратная сортировка

for /f "tokens=*" %%? in ('dir /b /a:-d /o:d /t:w %file1% %file2%') do echo %%~tf? пример шоу с отметкой времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...