Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03523.jsonl.gz/598

10.6: Sammeln von Finder-Einträgen mit einem neuen Dienst
Ich versuche mich gerade von diversen Utilities zu entwöhnen, die zusätzliche System- und Finder-Funktionalitäten zur Verfügung stellen und stattdessen Dienste zu benutzen wo immer es möglich ist. Eine der für mich unverzichtbaren Features von Unsanity's FruitMenu ist das Untermenüeintrag 'Sammeln von Einträgen in einem neuen Ordner'.
Ich habe versucht, diese Funktion durch Standard AppleScript und Automator Scripts zu ersetzen, aber AppleScript unterbindet den Zugriff auf verschiedene Verzeichnisse, speziell den Mülleimer.
Andere Tipps benutzen verschiedene Techniken. Ich habe aber keine darunter gefunden, die mit dem Mülleimer umgehen kann oder Ordner automatisch benennen kann.
Ein Beispiel dafür, warum ich diese einzigartige Funktion benötige ist Folgende. Nach Aktualisierung der iOS-Apps landen die alten Apps im Mülleimer und für den Fall, dass ich die alten Dateien wiederherstellen möchte (z.B. Twitter v3.3), habe ich es mir zur Angewohnheit gemacht, den Mülleimer zu öffnen, alle .IPA-Dateien in einen neuen Ordner zusammen zu sammeln und diesen Ordner dann in ein Sicherungsarchiv zu verschieben, um eine Wiederherstellung zu erleichtern.
Dieser Dienst ist auch ungemein Hilfreich, beim Säubern des Download-Verzeichnisses, Bilder, Schreibtisch usw. also immer dann, wenn Sie eine ganze Reihe an Finder-Objekten (Dateien und Ordner) haben und diese in einen neuen Ordner zusammen sammeln wollen.
Das folgende Script kann als einfaches AppleScript gestartet werden. Es ist aber besser, dass Script als Dienst zu starten.
Um den Dienst zu erstellen:
- Öffnen Sie Automator; Dateityp 'Dienst'
- Setzen Sie 'Dienst empfängt ausgewählte(n)' auf 'Dateien oder Ordner' in 'Finder'.
- Wählen Sie Dienstprogramme -> AppleScript ausführen (Doppelklicken zum Einfügen).
- Ersetzen Sie "(* Your Script goes here *)" mit dem folgenden AppleScript; stellen Sie sicher, dass Sie nicht versehentlich 'on run', 'return input' und 'end run' überschreiben.
- Sichern Sie Ihren neuen Dienst unter 'Gather Items in New Folder' oder Ähnlichem.
Um diesen Dienst zu benutzen:
- Selektieren Sie mehrere Einträge (sie müssen nicht aufeinander folgen oder im selben Ordner liegen).
- Führen Sie einen Rechtsklick (Ctrl-Klick) darauf aus um auf den oben benannten Dienst zuzugreifen. Warten Sie, bis die Ausführung beendet ist.
- Drücken Sie die Eingabetaste, um den neu erzeugten Ordner zu benennen.
Bitte beachten: Mein AppleScript ist ein wenig eingerostet; Ich hatte einige Probleme Zugriffs-Fehler mit dem Fehler -1700. Wenn Sie eine bessere Lösung wissen, dürfen Sie die Lösung gerne in den Kommentaren hinterlassen.
tell application "Finder"
(* what files do you want to gather into a new folder? *)
set selectedItems to selection
if selectedItems is not {} then
(* topLevelName assures the uppermost file-level-directory will be selected in case of multiple selections in list or column view. *)
set topLevelName to name of item 1 of selectedItems
(* silly set of workarounds to override vanilla AppleScript's lack of permission when playing in the .Trash folders *)
set selectionPath to POSIX path of file ((item 1 of selectedItems) as string)
set selectionPath to ((characters 1 thru ((offset of topLevelName in selectionPath) - 1)) in selectionPath) as string
(* Modify path string to create a unique target folder using date and time *)
set dateString to do shell script "date \"+%Y.%m.%d %a %I.%M.%S %p\"" -- this line broken out for easy editing
set newFolder to selectionPath & (dateString & " Gathered Items") -- rearrange as you please; is set this way for proper name sorting
(* more workarounds to allow playing in the .Trash *)
do shell script "mkdir " & quoted form of newFolder
set newFolder to (POSIX file newFolder) as alias
move selectedItems to newFolder
reveal newFolder
end if
end tell
[crarko: Tipp getestet und funktioniert wie beschrieben. Ich habe eine Kopie des fertigen Dienstes hier gespiegelt. Öffnen Sie den Arbeitsablauf in Automator und sichern Sie ihn neu als Dienst.]