Установка даты создания файла в Mac OS X

5903
Chealion

Мне нужен скрипт, чтобы установить дату создания на дату модификации для набора файлов, созданных моим диктофоном - есть ли способ сделать это? Работает Mac OS X 10.4.11

4
Просто чтобы помочь вам найти решение: оно хранится в «метаданных HFS», в «kMDItemFSCreationDate». (UNIX сама по себе не имеет понятия о дате создания. См. Http://superuser.com/questions/43310/os-x-unix-shell-command-possible-to-get-last-opened-date-of-file / 43319 # 43319 для некоторых деталей, но это не описывает, как это изменить.) Arjan 14 лет назад 0

1 ответ на вопрос

8
Chealion

Для этого можно использовать SetFileкомандную строку, однако по умолчанию она не включена в Mac OS X 10.4.x (Tiger). Если вы установили Инструменты разработчика или большинство обновлений Combo, они установлены, но в нестандартном месте. SetFileбыл включен в /usr/bin/для Mac OS X 10.5 и позже.

Чтобы найти команду, вы можете попробовать использовать, locateчтобы найти местоположение.

Предполагая, что у вас установлены Инструменты разработчика:

/Developer/usr/bin/SetFile -d '12/31/2008 12:00:00 PM' nameoffile.txt 

Вы можете использовать другую программу под названием, GetFileInfoкоторая установлена ​​с, SetFileчтобы получить дату модификации.

/Developer/usr/bin/GetFileInfo nameoffile.txt 

Пример скрипта для одного файла:

#! /bin/bash # Usage: nameOfThisScript.sh nameOfFile.txt  modifiedDate=`/usr/bin/GetFileInfo -m $1` /usr/bin/SetFile -d "$modifiedDate" $1 
Большое спасибо Chealion! Как раз то, что я искал. Вот сценарий на данный момент: #! / Bin / bash для i в / Users / MacHD / Music / h2dropbox / * doifiedDate = `/ Developer / Tools / GetFileInfo -m $ i` / Developer / Tools / SetFile -d" $ ifiedDate "$ i echo $ i done 14 лет назад 1