Finder: Dateien eines bestimmten Namensmusters automatisch verstecken

Diskutiere das Thema Finder: Dateien eines bestimmten Namensmusters automatisch verstecken im Forum Mac OS X & macOS.

Schlagworte:
  1. thulium

    thulium Thread Starter Mitglied

    Beiträge:
    896
    Zustimmungen:
    42
    Mitglied seit:
    12.11.2011
    Moin.

    Man kann einzelne Dateien durch Voranstellen eines "." im Namen verstecken oder ihnen das Attribut "versteckt" zuweisen durch:
    chflags hidden /PFAD-ZUR-DATEI-ODER-ZUM-ORDNER

    Ich habe nun, bedingt durch einen Editor, diverse "Verwaltungsordner" mit dem Namen "_notes".
    Solche Ordner kommen immer wieder neu dazu, sobald man neue Inhaltsordner anlegt.

    Ihr Anblick stört.

    Meine Frage: Gibt es einen Weg Dateien/Ordner automatisch zu verstecken, wenn sie ein spezfisches Namensmuster aufweisen?

    Danke.
     
  2. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    Ja, kann man automatisieren mit AppleScript.
     
  3. thulium

    thulium Thread Starter Mitglied

    Beiträge:
    896
    Zustimmungen:
    42
    Mitglied seit:
    12.11.2011
    Falls eine der Mitleserinnen oder einer der Mitleser so ein Skript schreiben kann und Lust hätte es hier zu veröffentlichen: ich würde mich sehr freuen.
     
  4. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    -error-128-
     
  5. thulium

    thulium Thread Starter Mitglied

    Beiträge:
    896
    Zustimmungen:
    42
    Mitglied seit:
    12.11.2011
    Herzlichen Dank :) Da das Skript nicht einmalig aufgerufen werden soll - dann würde es ja neu hinzugekommene Ordner nicht erfassen: wie bindet man es bitte ein, damit es "dynamisch" wirkt?

    Man könnte seine Wirkung vielleicht auf auf einen spezifischen Hauptordner (und all seine Unterordner) beschränken:
    zum Beispiel auf "~/foo"
     
  6. GrandmasterD

    GrandmasterD Mitglied

    Beiträge:
    31
    Zustimmungen:
    14
    Mitglied seit:
    09.07.2017
    Mit Hazel kannst Du Ordner überwachen und zum Beispiel Neuzugängen in diesem überwachten Ordner automatisch ein AppleScript laufen lassen
     
  7. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    Das Script wird nicht einmalig aufgerufen, wenn man es richtig abspeichert und laufen lässt.
    Code:
    on idle
       tell application "Finder"
           set a to entire contents of folder "path:to:the:notes:folder:"
           try
               repeat with x in a
                   if name of x contains "_notes" then do shell script "chflags hidden " & POSIX path of (x as string)
               end repeat
           end try
       end tell
       return 300
    end idle
    PS: Man könnte auch launchd dazu veranlassen einen bestimmten Ordner auf Änderungen zu überwachen und tritt der Fall ein: start Script. (ohne idle, ohne return)
     
  8. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    Besser (schneller)
    Code:
    on idle
       try
           repeat with x in paragraphs of (do shell script "find /path/to/the/notes/folder -name '*_notes*'")
               do shell script "chflags hidden " & x
           end repeat
       on error erstrg
           display alert erstrg as critical
       end try
       return 300
    end idle
    
    PS: Man könnte auch launchd dazu veranlassen im Intervall von 5 min das Skript laufen zu lassen. (ohne idle, ohne return)
     
  9. mausfang

    mausfang Mitglied

    Beiträge:
    972
    Zustimmungen:
    269
    Mitglied seit:
    04.08.2016
    SRH
     
  10. thulium

    thulium Thread Starter Mitglied

    Beiträge:
    896
    Zustimmungen:
    42
    Mitglied seit:
    12.11.2011
    @Atalantia

    Vielen Dank schonmal :) Ich brauche noch ein paar Tage, bis ich zum Ausprobieren komme. Bzw. zum Recherchieren, wie man das Skript richtig speichert und laufen lässt.
     
  11. Phrasenbieger

    Phrasenbieger Mitglied

    Beiträge:
    752
    Zustimmungen:
    65
    Mitglied seit:
    15.04.2008
    Kann man das Anzeigen nicht irgendwo im Finder abstellen?

    Welches Filesystem benutzt Du? Auf manchen Filesystemen legt MacOS solche Dateien an weil dem FS gewisse Festures fehlen.
     
  12. thulium

    thulium Thread Starter Mitglied

    Beiträge:
    896
    Zustimmungen:
    42
    Mitglied seit:
    12.11.2011
    Ich verwende APFS.

    Die Ordner, um die es geht, werden, wie oben erwähnt, nicht von macOS erzeugt, sondern von einem HTML-Editor.
     
  13. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    Versuchs mal so:
    du speicherst das folgende launchd pref als hideNote.plist ab. (unformatiert, reiner text) und legst es in: ~/Library/LaunchAgents an.
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>HideNotes</string>
        <key>ProgramArguments</key>
        <array>
            <string>osascript</string>
            <string>/path/to/the/HideNotes.scpt</string>
        </array>
        <key>QueueDirectories</key>
        <array>
            <string>/path/to/the/notes/folder</string>
        </array>
        <key>StartOnMount</key>
        <true/>
    </dict>
    </plist>
    
    <string>/path/to/the/HideNotes.scpt</string> und <string>/path/to/the/notes/folder</string> musst Du ersetzen.
    Das Skript in *8 speicherst Du als HideNotes.scpt ab und löschst dort beide idle Zeilen und die return Zeile und schreibst den richtigen Pfad zu Deinem _Notes Folder.
    Wenn die beiden Pfade im plist richtig eingetragen sind sollte es nach der nächsten User Anmeldung funktionieren.
     
  14. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.198
    Medien:
    3
    Zustimmungen:
    177
    Mitglied seit:
    26.11.2009
    Update für #8:
    Code:
    on idle
       try
           repeat with x in paragraphs of (do shell script "find ~/path/to/the/notes/folder -name '*_notes*'")
               do shell script "chflags hidden " & quoted form of x
           end repeat
       on error erstrg
           display alert erstrg as critical
       end try
       return 300
    end idle
    

    Wenn das Ergebnis ein Ordner (directory) sein muss, kann man die Suche folgendermassen einschränken:
    Code:
           repeat with x in paragraphs of (do shell script "find ~/path/to/the/notes/folder -name '*_notes*' -type d")
    ('-type f' wären nur Files)
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite weitersurfst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...