Co można ciekawego robić znając Powershell? W kursie napisali, że wykonywać własne skrypty, które po prostu zaoszczędzają czas. Co autor miał na myśli? Ogólnie jestem w liceum jeszcze, kręcą mnie jakieś takie właśnie zagadnienia.
Powershell to język skryptowy, odpowiednik Basha z Linuxa. Zazwyczaj stosuje się go do pisania skryptów narzędziowych, które przetwarzają pliki, tworzą katalogi i przenoszą pliki np. można napisać skrypt, który będzie w określonych odstępach czasu tworzył kopię zapasową plików albo bazy danych, a następnie je skompresuje, odpowiednio nazwie i przeniesie w określone miejsce. Skrypt oszczędzi czas w ten sposób, że skrypt będzie wykonywał te czynności automatycznie, bez konieczności angażowania administratora, który w innym wypadku musiałby to zrobić ręcznie.
Ok, to jeżeli codziennie działam w kwesti nauki programowania to znając Powershell mógłbym stworzyć skrypt, który codziennie o określonej godzinie będzie mi przenosił to co dzisiaj zrobiłem do OneDrive, otwierał o określonej godzinie codziennie notatnik w którym miałbym zapisane ważne rzeczy itp?
Jeśli tak myślę, że jest to na tyle ciekawe, że wszedłbym w temat.
Znalazłem coś takiego:
https://www.udemy.com/powershell-dla-administratora-windows/
Tak, Powershell może pomóc zautomatyzować wszystkie te czynności które opisałeś. Doskonale się do tego nadaje.
Idea języka powłoki jest taka — obsługujesz komputer przy użyciu linii poleceń, żeby móc te polecenia zapisać do pliku i uruchomić znowu nie pisząc wszystkiego od nowa (również możliwe jest stosowanie parametrów). To co wymieniłeś to raczej funkcjonalność harmonogramu zadań (tak to się chyba na windowsie nazywa). Takie najbardziej typowe zastosowanie dla języka powłoki to masowe działania na plikach. Na przykład mam 1024 pliki jpeg i chcę je pomniejszyć, bo chcę je wysłać, albo umieścić na stronie. Tak więc mogę użyć języka powłoki i pakietu ImageMagick (składnia bash — 800 oznacza szerokość docelową obrazu):
for image in *jpg
do
convert $image -scale 800 $image
done
Podobnie mogę zrobić z filmami przy użyciu ffmpeg, z tekstem przy użyciu AWK czy SED, itd. Często automatyzuję jakieś działania na kodzie (podstawienia, itp). Język powłoki jest też standardem do opisu jakiejś procedury gdzie na przykład trzeba zintegrować kilka rzeczy ze sobą (to ściągnąć, to skompilować, tu uruchomić make
).
Jak dla mnie jest też świetnym narzędziem do prototypowania. Na przykład trochę montuję wideo i robię to w konsoli przy użyciu własnych skryptów. Nawet zwinnie to wychodzi. Tak naprawdę język powłoki pozwala ci programować używając gotowych programów, jedyny problem jest taki, że te programy muszą być dostępne z linii poleceń, co akurat w Windowsie i własnościowym oprogramowniu jest chyba rzadkie, ale w świecie open source to jest standard. Też zastanowiłbym się czy Powershell to najlepsze rozwiązanie — nie znam go, więc się nie wypowiem, jednak działa tylko na Windowsie i jest niszowy, podczas gdy basha masz i na Linuksie, *BSD, na Macu i jak zechcesz nawet na Windowsie. Bash jest stadnardem i wielu ludzi go używa.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.