Сначала объяснение, почему ваш код не работает.
Глядя на DIR без параметра / B, он всегда отображает путь к файлу в виде строки заголовка, а не вместе с именем файла. При использовании параметра сортировки вместе с двумя спецификациями файлов в одном каталоге команда может сортировать файлы и отображать их в одном заголовке каталога. Даже если имя файла повторяется, вы точно знаете, на какой файл ссылается заголовок.
Но если 2 спецификации файла находятся по разным путям, есть вероятность, что имя файла совпадает, и отличаются только пути. В этом случае сортировка бесполезна, если каждая спецификация файла не отсортирована по собственному заголовку; в противном случае вы не можете сказать, какой файл какой. Сортировать один файл не имеет особого смысла, но помните, что спецификация файла может включать подстановочные знаки, поэтому имеет смысл. Поэтому, когда опция сортировки объединяется с несколькими спецификациями файлов с использованием разных путей, DIR будет выполнять отдельную сортировку для каждого пути, каждый со своим собственным заголовком.
Добавление параметра / B удаляет заголовки пути, но не меняет поведение сортировки! Абсолютно глупый и бесполезный дизайн, но это то, что вы получаете.
Достижение решения гораздо более проблематично, особенно если вы хотите использовать чистую пакетную обработку только с собственными командами Windows. Работа с датами может привести в бешенство партию.
Самое подходящее пакетное решение, которое я могу придумать, - это временно скопировать 2-й файл в родительский каталог, выполнить сравнение в родительском каталоге, а затем удалить временную копию. Но это может быть проблемой, если файл большой. Также предполагается, что имя файла еще не существует в родительском каталоге. Если он существует (или может существовать), вы можете скопировать файл под другим именем, которое известно как уникальное. Конечно, вам нужно будет перевести результат.
Из того, что я могу сказать, любое другое пакетное решение потребует парсинга даты и времени. Это открывает целую банку червей. (Это выполнимо)
Если предложение COPY неприемлемо (я не виню вас, если вы решите его не использовать), тогда я рекомендую использовать что-то, кроме batch, возможно, VBScript, Javascript или Powershell. Или, возможно, гибридный подход, например, пакетный, с добавлением некоторого VBScript.