Alfred i kopiowanie nazw plików lub folderów
Niemal cztery lata temu podzieliłem się z Wami workflow, którego zadaniem było kopiowanie nazw zaznaczonego pliku lub folderu. Teraz wracam do tego tematu z ulepszoną wersją.
Największą bolączką poprzedniej wersji mojego workflow był brak obsługi wielu plików jednocześnie. Po wielu bojach w końcu udało mi się osiągnąć ten cel w sposób mnie zadowalający. Akcja przepisana jest praktycznie od zera i teraz nie opiera się na skrypcie Basha, ale na Pythonie. Treść skryptu możecie znaleźć poniżej:
from os.path import basename
import re, sys
query = "{query}"
query = re.sub('\t', '\n', query)
query = query.splitlines()
num = len(query)
for i in range(0,num):
query[i] = basename(query[i])
wynik = "\n".join(query)
sys.stdout.write(wynik)
Pokrótce postaram się opisać poszczególne fragmenty:
from…
…import…
– tu oczywiście importujemy potrzebne biblioteki;query = re.sub('\t', '\n', query)
– ten fragment jest odpowiedzialny za podmianę tabulatorów rozdzielających kolejne ścieżki plików na nowe linie, przez co tworzymy ciąg składający się z wielu linii tekstu;query = query.splitlines()
– tym poleceniem konwertujemy wieloliniową zmienną na listę;num = len(query)
– dzięki temu fragmentowi ustalamy, ile elementów znajduje się na liście;for …
– rozpoczynamy pętlę która będzie przetwarzała każdy z elementów listy;query[i] = basename(query[i])
– dla każdego elementu listy poleceniebasename
„wyciąga” ostatni kawałek ścieżki, czyli nazwę pliku lub katalogu i nadpisuje ją na poprzednią wartość elementu;wynik = "\n".join(query)
– przedostatnim krokiem jest ponowne przekonwertowanie listy elementów na wieloliniowy ciąg tekstowy.sys.stdout.write(wynik)
– to polecenie zwraca nam ciąg nazw, z których każda jest w osobnej linii. Jego działanie jest podobne do bardziej znanegoprint
, ale w odróżnieniu od tego drugiego nie wstawia na końcu dodatkowej, nowej linii.
Wynik powyższego skryptu jest przekazywany do kolejnego elementu – Copy to Clipboard, dzięki czemu możemy wkleić skopiowane nazwy w wybrane przez nas miejsce.
Workflow Copy Name możecie pobrać stąd.
Więcej workflows dla Alfreda znajdziecie tutaj.
Komentarze: 8
Hej.. Świetny ten workflow – może się niejednokrotnie przydać, nawet żeby zrobić komuś prostą listę plików np z mp3, filmami lub kursami.
ps. Mam prośbę do ciebie Maćku – czy mógłbyś wrzucić jeszczecze raz na serwer workflow do VAT. Niestety wszystkie Twoje workflow wrzucone na copy.com są nieaktywne bo chyba copy.com zawiesiło już swoją działalność. Chodzi mi dokłądnie o ten workflow:
https://imagazine.pl/2014/03/23/moj-alfred-obliczanie-vat-2/
Próbowałem wykonać wszystko zgodnie z poradnikiem ale coś mi to nie działa na Alfredzie 3. Z góry dzięki.
Sorry ze tak jeden pod drugim ale kilka dni temu pojawił sie ciekawy workflow do liczenia NETTO i BRUTTO:
http://www.packal.org/workflow/brutto-netto
Warto sprawdzić bo liczy nie tylko sam VAT ale i podatek dochodowy. Świetne !!
Dzięki, na pewno się przyjrzę!
Będę mógł to zrobić dopiero, jak wrócę do domu. W starym wpisie jeszcze raz wkleiłem skrypt, więc możesz spróbować ponownie z jego przeklejeniem. 🙂
Właśnie uaktualniłem mój tekst o VAT (https://imagazine.pl/2014/03/23/moj-alfred-obliczanie-vat-2/ ) o nowy link do workflow → https://github.com/mcskrzypczak/Alfred2-Workflows/raw/master/workflows/mcskrzypczak-VAT.alfredworkflow
Bardzo dziękuję. Na pewno się przyda nie jeden raz ;)
Ja dodam link do kilku moich workflow – nie wszystkie są w 100% od zera zrobione przezemnie. Ale w każdym coś zmieniłem i dodałem a niektóre napisałem od zera. https://blog.nayma.pl/nasze-workflows-do-programu-alfred/
Mam nadzieje, że może coś się przyda. Lub może jakieś inne tematy na blogu Cię zainteresują. Pozdrawiam i bacznie sledze sekcję Alfreda na iMagazine.
“którego zadaniem było 0”
??
Wkradł się jakiś błąd, już naprawiony! 🙂👍🏼