Можно сортировать / упорядочивать файлы в цикле FOR? - PullRequest
0 голосов
/ 21 июня 2019

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

for %%i in (Input/*.json) do (

)

1 Ответ

0 голосов
/ 21 июня 2019

Если вы хотите, чтобы они были только отсортированы, то DIR будет самым быстрым маршрутом , вы можете проанализировать этот вывод с помощью FOR /F Loop.

Этот код даст вамДата по возрастанию:

FOR /F %%A IN ('
  DIR /B
  /O:D
  /A:-D 
  Input\*.json
') DO (
  ECHO(Found: "%%A"
)

Параметр /O изменяет порядок. /O:D или /OD Дата заказа по возрастанию (самая старая) /O:-D или /O-D Дата заказаПо убыванию (сначала самое новое)

Параметр /A изменяет тип выбранных элементов. /A:-D или /A-D Выбор элементов файла, /A:D или /AD Выбор элементов каталога.

Опция /B выводит только имена файлов, если только вместе с ним не используется переключатель /S для рекурсии дерева каталогов, в этом случае он будет выводить пути к файлам.

Единственная проблема, с которой это связано:

Поскольку вы просматриваете подкаталог, вместо того же каталога вы не можете извлечь любую другую информацию переменной FOR извывод.

IE: Вы не можете использовать скажем %%~tA для печати даты / времени и %%~fA WНеверно указан неправильный путь к файлу.

Если их необходимо вернуть, вам нужно будет найти информацию отдельно или получить информацию, необходимую из команды DIR.

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