Cocoa Swift, verstecktes Flag für Dateien und Verzeichnisse holen / setzen
Ich möchte testen, ob eine Datei oder ein Verzeichnis im Dateisystem ein bestimmtes Flag hat, in diesem Fall das "versteckte" Flag, und es dann setzen oder entfernen. Ich weiß, dass dies über die Befehlszeile möglich ist, aber ich habe mich gefragt, ob ich es mit Cocoa / Swift machen kan
Ich habe versucht mitNSFileManager
attributesOfItemAtPath
, aber das zurückgegebene Objekt enthält keine Flags.
Beispiel
let fm = NSFileManager.defaultManager()
do {
let testLibrary = try fm.attributesOfItemAtPath(dataPath)
print (testLibrary)
} catch let error as NSError {
print("JSON Error: \(error.localizedDescription)")
}
kehrt zurück
["NSFileCreationDate": 2013-08-16 21:37:57 +0000,
"NSFileGroupOwnerAccountName": staff,
"NSFileType": NSFileTypeDirectory,
"NSFileSystemNumber": 16777220,
"NSFileOwnerAccountName": xjx,
"NSFileReferenceCount": 61,
"NSFileModificationDate": 2015-10-22 07:25:12 +0000,
"NSFileExtensionHidden": 0,
"NSFileSize": 2074,
"NSFileGroupOwnerAccountID": 20,
"NSFileOwnerAccountID": 501,
"NSFilePosixPermissions": 448,
"NSFileSystemFileNumber": 603923]
Zum Vergleich, wenn ichls -lO
In meinem Ausgangsverzeichnis wird Folgendes angezeigt (beachten Sie die verborgene Markierung unter "Bibliothek"):
drwx------+ 49 xjx staff - 1666 Jan 11 19:43 Downloads
drwx------@ 28 xjx staff - 952 Jan 11 08:40 Dropbox
drwx------@ 61 xjx staff hidden 2074 Oct 22 09:25 Library
drwx------+ 7 xjx staff - 238 Apr 30 2015 Movies
drwx------+ 5 xjx staff - 170 Jun 14 2015 Music