setfile (xcode Developer Tools)

Set attributes of HFS+ files. It attempts to be similar to the setfile command in MPW. It can apply rules to more than one file with the options applying to all files listed. HFS was replaced with the Apple File System (APFS) in 2017.

      SetFile [-a attributes] [-c creator] [-d date] [-m date] [-t type] file...

     -a attributes  Sets the file attributes bits where attributes is a string
        of case sensitive letters.
        Each letter corresponds to a file attribute: an uppercase letter
        indicates that the attribute bit is set (1),
        a lowercase letter indicates that it is not (0).
        Note: attributes not specified remain unchanged.
        Where indicated below attributes can be applied to folders in addition to files.

        A | a    Alias file

        B | b    Has bundle

        C | c    Custom icon (allowed on folders)

        D | d    Located on the desktop (allowed on folders)

        E | e    Extension is hidden (allowed on folders)

        I | i    Inited - Finder is aware of this file and has
                 given it a location in a window. (allowed on folders)

        L | l    Locked

        M | m    Shared (can run multiple times)

        N | n    File has no INIT resource

        S | s    System file (name locked)

        T | t    "Stationery Pad" file

        V | v    Invisible (allowed on folders)

        Z  | z   Busy (allowed on folders)

     -c creator  Specifies the file's creator, where creator is a string of
                 exactly four characters.

     -d date     Set the creation date, where date is a string of the
                 form: "mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]]"
                 Enclose the string in quotation marks if it contains spaces.
                 Period '.' represents the current date and time.
                 [yy]yy < 100 assumes 21th century, e.g.20yy.

     -m date     Set the modification date where date is a string of the
                 form in -d above. (mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]])

     -t type     Sets the file type, where type is a string of exactly four characters.
SetFile is part of


Set the creator and type for the ResEqual tool:

$ SetFile -c "MPS " -t MPST ResEqual

Set the modification date of "myFile":

$ SetFile -m "8/4/2001 16:13" myFile

Set myfile.txt to be invisible in the finder:

$ SetFile -a V myfile.txt

Set myfile.txt to be visible in the finder:

$ SetFile -a v myfile.txt

Return Values
0 - attributes set
1 - syntax error
2 - any other error

“Drunk with power isn't the same as being drunk with booze” ~ Craig Ferguson

Related macOS commands

chflags - Change a file or folder's flags.
GetFileInfo - Get attributes of HFS+ files.
textutil - Manipulate text files in various formats.

Copyright © 1999-2024
Some rights reserved