Kann ich das Finder-Label zu einem Ordner machen, wenn es eine Datei oder einen Ordner mit einem bestimmten Namen enthält?

3

Ich würde es lieben, wenn ich das Finder mit einem Farbetikett für alle Ordner versehen könnte, die ein .git-Verzeichnis enthalten, sodass ich auf einen Blick erkennen kann, ob es sich bei dem Ordner um ein Git-Repo handelt. Irgendwelche Ideen?

bernk
quelle
Verwenden Sie Ordneraktionen apple.blogoverflow.com/2012/06/…
@mankoff danke für den Vorschlag, aber sind Ordneraktionen nicht an bestimmte Ordner gebunden? Oder kann ich eine Ordneraktion ausführen, die an ALLE Ordner angehängt ist, auch an neu erstellte?
bernk
Oh, du hast wahrscheinlich recht. OK. Vielleicht müssen Sie Code schreiben. Siehe SCPlugin, das SVN Finder Plugin. Es ändert Ordner- und Dateisymbole basierend auf dem SVN-Status.
Oder einen cron-Job mit dem Befehl 'find' oder 'mdfind', der AppleScript aufruft? Es gibt eine unendliche Anzahl von Hack-ish-Möglichkeiten, dies zu tun. Nicht sicher über die beste formale Methode.

Antworten:

2

Sah diese Frage und erkannte, dass die Antwort auch für mich nützlich sein würde. Hier ist das Applescript, das ich mir ausgedacht habe. Kopieren Sie es in den Applescript-Editor und passen Sie die beiden Variablen an theSearchPath (erste Zeile) und die Indexnummer am Ende des set label index Linie und du solltest gut sein.

Ich suche ~/projects und färben die Ergebnisse in diesem Fall grün.

set theSearchPath to "/Users/Me/projects"
set theResults to do shell script "find " & quoted form of theSearchPath & " -name .git"

repeat with i from 1 to (count paragraphs of theResults)
  set theResult to paragraph i of theResults
  set theParentPath to text 1 through ((length of theResult) - 5) of theResult
  set theParentAlias to POSIX file (theParentPath) as alias
  tell application "Finder"
    set label index of theParentAlias to 6
    -- Set the last value of the above line to correspond with the color you want.
    -- 0 is no color
    -- 1 is orange
    -- 2 is red
    -- 3 is yellow
    -- 4 is blue
    -- 5 is purple
    -- 6 is green
    -- 7 is gray
  end tell
end repeat

Hinweis: Es wurde nicht geschrieben, um Fehler, die von der Website ausgegeben werden, korrekt zu behandeln find Befehl. Solange Sie Verzeichnisse durchsuchen, für die Sie Berechtigungen haben, sollte dies kein Problem sein.

Vickash
quelle
0

Vickashs Skript funktionierte nicht für mich, daher habe ich es aktualisiert und etwas überarbeitet, um eine Dateierweiterung zu finden, indem die Erweiterung in der Variablen angegeben wird theFileExtension (in meinem Fall .flac-Dateien.) Funktioniert in Sierra.

set theSearchPath to "/Users/Me/projects"
set theFileExtension to ".flac"
set theResults to do shell script "find " & quoted form of theSearchPath & " -name *"&theFileExtension

repeat with i from 1 to (count paragraphs of theResults)
    set theResult to paragraph i of theResults
    set thePath to text 1 through ((length of theResult)) of theResult
    tell application "Finder"
        set theParentAlias to container of (POSIX file (thePath) as alias)
        set label index of theParentAlias to 1
        -- Set the last value of the above line to correspond with the color you want.
        -- 0 is no color
        -- 1 is orange
        -- 2 is red
        -- 3 is yellow
        -- 4 is blue
        -- 5 is purple
        -- 6 is green
        -- 7 is gray
    end tell
end repeat
Michael Kupietz
quelle