Вопрос или проблема
Я пытаюсь изменить атрибут “дата последнего открытия” для нескольких файлов и папок на El Capitan. Старая техника использования “touch -mt ” кажется, не работает. Иногда это работает в очень редких случаях, но для большинства моих файлов команда завершается без ошибок и без эффекта на атрибут “дата последнего открытия”. Кажется, она изменяет атрибут “дата изменения”. Есть какие-нибудь идеи?
Я думаю, что следующее должно сработать, хотя я не мог это подтвердить:
Дата последнего открытия хранится в метаданных свойства kMDItemLastUsedDate
. Вы можете проверить это с помощью команды mdls <file>
.
Чтобы изменить значение, используйте следующую синтаксис:
xattr -w "com.apple.metadata:kMDItemLastUsedDate" "<date>" <file>
Ответ или решение
Чтобы изменить атрибут "дата последнего открытия" для файлов и папок в OS X El Capitan, необходимо учитывать, что традиционная команда touch -mt
может не давать желаемых результатов, так как она, как правило, влияет на атрибут "дата изменения" файлов, а не на "дата последнего открытия". Для решения этой задачи следует использовать системные инструменты и свойства метаданных, доступные в macOS.
Шаг 1: Проверка текущих атрибутов
Для начала вам необходимо узнать текущее состояние атрибута "дата последнего открытия". Это можно сделать с помощью команды mdls
, которая выводит метаданные выбранного файла или каталога.
Используйте следующую команду в терминале:
mdls <путь_к_файлу_или_папке>
В выводе вы найдете строку kMDItemLastUsedDate
, которая указывает на дату последнего открытия.
Шаг 2: Изменение даты последнего открытия
Чтобы изменить дату последнего открытия, вам потребуется использовать команду xattr
. Эта команда позволяет изменять расширенные атрибуты файлов и папок в системе.
Примените следующий синтаксис:
xattr -w "com.apple.metadata:kMDItemLastUsedDate" "YYYY-MM-DDTHH:mm:ssZ" <путь_к_файлу_или_папке>
- Замените
YYYY-MM-DDTHH:mm:ssZ
на нужную вам дату в формате ISO 8601. Например, для 25 декабря 2023 года в 15:30:00 это будет выглядеть так:2023-12-25T15:30:00Z
. - Убедитесь, что
<путь_к_файлу_или_папке>
соответствует реальному расположению вашего файла или каталога.
Пример
Если вы хотите изменить дату последнего открытия файла document.txt
, находящегося в вашем домашнем каталоге, выполните следующее:
xattr -w "com.apple.metadata:kMDItemLastUsedDate" "2023-12-25T15:30:00Z" ~/document.txt
Шаг 3: Проверка выполненных изменений
После выполнения команды вы можете снова использовать mdls
, чтобы убедиться в том, что дата последнего открытия изменилась:
mdls ~/document.txt
Посмотрите на строку kMDItemLastUsedDate
, чтобы подтвердить, что она теперь отображает новейшую дату.
Заключение
Используя команды mdls
и xattr
, вы сможете успешно изменять атрибуты "дата последнего открытия" для файлов и папок в OS X El Capitan. Этот метод предоставляет точный и надежный способ управления метаданными в вашей файловой системе, что может быть особенно полезно в различных сценариях, таких как организация документации или управление данными.