I need a script to set the creation date to the modification date for a bunch of files created by my sound recorder - any way to do this? Running Mac OS X 10.4.11
Asked
Active
Viewed 6,408 times
4
-
Just to help you find a solution: this is stored in the "HFS meta data", in `kMDItemFSCreationDate`. (UNIX by itself has no notion of a creation date. See http://superuser.com/questions/43310/os-x-unix-shell-command-possible-to-get-last-opened-date-of-file/43319#43319 for some details, but that doesn't describe how to change it.) – Arjan Nov 13 '09 at 08:43
1 Answers
8
You can use SetFile on the command line to do this however it is not included by default in Mac OS X 10.4.x (Tiger). If you have installed the Developer Tools or most of the Combo updates it is installed but in a non standard location. SetFile was included in /usr/bin/ for Mac OS X 10.5 and later.
To find the command you can try using locate to find the location.
Assuming you have the Developer Tools installed:
/Developer/usr/bin/SetFile -d '12/31/2008 12:00:00 PM' nameoffile.txt
You can use another program called GetFileInfo that is installed with SetFile to obtain the modification date.
/Developer/usr/bin/GetFileInfo nameoffile.txt
An example script for one file:
#! /bin/bash
# Usage: nameOfThisScript.sh nameOfFile.txt
modifiedDate=`/usr/bin/GetFileInfo -m $1`
/usr/bin/SetFile -d "$modifiedDate" $1
Chealion
- 25,408
- 8
- 67
- 75
-
1Thanks a lot Chealion! Just what I was looking for. Here's the script so far: #!/bin/bash for i in /Users/MacHD/Music/h2dropbox/* do modifiedDate=`/Developer/Tools/GetFileInfo -m $i` /Developer/Tools/SetFile -d "$modifiedDate" $i echo $i done – Nov 16 '09 at 19:13