Jak zmienić wygląd pustych folderów w wyszukiwarce?

1

Szukam sposobu zmiany wyglądu pustych folderów w wyszukiwarce, aby odróżnić je od folderów z zawartością.

Czy ktoś wie, jak to zrobić, albo przez oprogramowanie innych firm, przez system operacyjny, albo programowo?

wahacze
źródło
Jedyny sposób, w jaki mogłem wymyślić, to przeglądanie wszystkich katalogów za pomocą skryptu powłoki, a następnie kolorowanie folderów w zależności od tego, czy są puste, czy nie. To jednak nie zadziała automatycznie, musisz go uruchomić.
slhck
To może zadziałać - potrzebuję tylko tej części skryptu, która identyfikuje puste foldery.
mheavers

Odpowiedzi:

2

Ten prosty skrypt przechodzi przez wszystkie puste foldery, zaczynając od, na przykład ~/Desktop, i stosując kolor 7, dla szarości.

Zmień te wartości według własnych upodobań, np. Folder, aby ~/Documentsprzejrzeć wszystkie pliki w folderze Dokumenty. Kolory etykiet zaczynają się 0od „ brak” i 7jest to najwyższa liczba.

#!/bin/bash
label=7
start=~/Desktop
while IFS= read -d '' -r dir; do
    osascript -e "tell application \"Finder\" to set label index of alias POSIX file \"$dir\" to $label" > /dev/null
    echo "Applied label to $dir"
done < <(find $start -mindepth 1 -type d -empty -print0)

Aby uruchomić ten skrypt, otwórz terminal za pośrednictwem Applications / Utilities / Terminal.app i otwórz edytor tekstu, taki jak nano.

Wklej zawartość i zapisz ją, wprowadzając CtrlO, a następnie wpisując nazwę pliku. Po zakończeniu naciśnij . Teraz uczyń go wykonywalnym za pomocą chmod +x recolor.shi uruchom go, wpisując jego nazwę jak ~/Documents/recolor.sh.

Spowoduje to wydrukowanie ścieżki do wszystkich folderów, do których zastosowano etykietę, i zamknięcie po zakończeniu. Pamiętaj, że nie zidentyfikuje to automatycznie żadnych nowych pustych folderów, które możesz utworzyć w przyszłości, więc będziesz musiał ponownie uruchomić ten skrypt.

Można również zastąpić wywołanie osascriptz label()funkcji z tym przepełnienie stosu odpowiedź .

slhck
źródło
2

Poniższe rozwiązanie to głównie skrypty bash (shell), ale zintegrowane z Automatorem, aby było wygodniejsze w użyciu.

Otwórz Automator i wybierz, aby utworzyć nowy przepływ pracy . Dodaj akcję Uruchom skrypt powłoki , która otrzymuje dane wejściowe do standardowego wejścia, oraz następujący skrypt:

find "$@" -type d -empty

Jeśli uruchomisz to w Automatorze, wszystkie puste foldery będą widoczne w wynikach . Aby na nie zareagować, dodaj np. Akcję Przenieś elementy Findera do Kosza lub akcję Elementy wyszukiwarki etykiet poniżej.

Ustawiając ten przepływ pracy Automatora, możesz wielokrotnie go wygodnie wykonywać, a nawet sprawić, by był wykonywalny jako Usługa dla wybranych plików lub folderów ( Plik »Konwertuj na ...» Usługa lub zacznij od uczynienia go Usługą). W ten sposób, jeśli chcesz wyczyścić określony folder i jego zawartość, możesz to zrobić dość łatwo.

Możesz przypisywać skróty klawiaturowe w Preferencjach systemowych »Klawiatura» Skróty klawiaturowe »Usługi .

wprowadź opis zdjęcia tutaj

Daniel Beck
źródło
Myślę, że uczyniłem skrypt powłoki nieco zbyt skomplikowanym ...
Daniel Beck
Haha, miałem powiedzieć: P - ale korzystanie z Automatora jest prawdopodobnie przyjemniejsze. Możesz „ukraść” skrypt powłoki.
slhck
Czy istnieje sposób na ciągłe uruchamianie tego zadania? A może uruchom go raz dziennie?
Adam_G