Dodawanie skryptu do menu kontekstowego programu macOS finder
Chcę dodać opcję do menu kontekstowego Findera, która wywoła hg add %1
, a %1 jest pełną ścieżką wybranego pliku w Finderze.
Oczywiście jest więcej przydatnych przypadków, które mogę wymyślić, aby dodać do menu kontekstowego.
Czy istnieje prosty sposób, aby to zrobić, który nie wymaga instalowania oprogramowania innych firm lub kodowania w skompilowanym języku i budowania wtyczek binarnych?
Jak tworzenie skryptu za pomocą Edytora skryptów i upuszczanie go w /Library/Contextual Menu Items/
?
3 answers
Tak, Wiem, że to oprogramowanie innych firm-ale dla pełniejszego przeglądu - http://www.abracode.com/free/cmworkshop/on_my_command.html . kolejnym narzędziem ułatwiającym pisanie skryptów jest http://wafflesoftware.net/thisservice / Dodawanie pozycji do menu serwisu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-20 07:30:54
Kroki zmieniły się dla Snow Leoparda / 10.6+ od poprawnej odpowiedzi @khachik. Aby upewnić się, że jest jasne, oto kroki:
- Open Automator
- Utwórz nowy
Service
- ustaw dwie górne listy rozwijane na górze na "usługa odbiera wybrane
files or folders
wFinder.app
" - Ustaw wejście przejścia na
as arguments
- napisz swój skrypt (patrz poniżej).
- Zapisz i wybierz nazwę Usługi
Twoje okno Automatora powinno wyglądać jak to: :
Możesz teraz wybrać wiele plików w Finderze, a następnie uruchomić usługę z podmenu usługi.
Do scenariusza, myślę, że chcesz następujące. To zmienia katalog każdego argumentu, a następnie dodaje go. Używam pętli for, ponieważ Finder pozwala wybrać wiele plików w różnych folderach (które mogą być w różnych repozytoriach).
for f in "$@"
do
cd $(dirname $f); hg add $f
done
Jeśli założyłeś, że wszystkie są w tym samym repozytorium, możesz to zrobić:
cd $(dirname $1); hg add $@
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-25 13:35:26
Otwórz Automator, utwórz własny przepływ pracy. Z Library
wybierz Utilites
, a następnie przeciągnij i upuść Run shell script
do obiegu pracy. Ustaw Pass input
na As arguments
. Napisz w swoim skrypcie: hg add $1
. Następnie File menu->Save as a Plugin
, podaj nazwę, Wybierz plugin for Finder
, Save
. Kliknij prawym przyciskiem myszy na pliku, wybierz More->Autamator-><PLUGIN_NAME>
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 14:22:11