Przekierowanie wyniku z Powershella do pliku tekstowego, schowka oraz wyświetlanie porcjami – coś dla początkujących
Dzisiejsza porada skierowana jest do początkujących użytkowników Powershella i niesie bardzo istotnie i proste zarazem przesłanie: konsola Powershell obsługuje polecenia CMD, w tym również punkty zawarte w temacie.
Jeśli chcecie używać swoich ulubionych poleceń CMD, a zarazem uczycie się PS, nie ma konieczności ciągłego przełączania się pomiędzy czarnym, a niebieskim okienkiem 🙂 Zwłaszcza, że okienko PS jest zwykle łatwiej dostępne (na przykład w Windows Server 2012).
Jeśli chodzi o zapisanie wyniku w pliku, i chcecie poznać coś bardziej zaawansowanego, czego nie umie Command Prompt, czyli zapisywanie wyniku w plikach CSV lub HTM oraz formatowanie ich, zapraszam do przeczytania wcześniejszego artykułu, w którym opisałem te właśnie sztuczki.
Tak więc, wracając do tematu, w skrócie przypomnę/podpowiem:
Przekierowanie wyniku polecenia Powershell (na przykładzie znanego Wam get-process) wygląda następująco:
get-process > c:\procesy.txt
Efekt będzie podobny do tego:
Polecenie to stworzy plik, jeśli go nie ma, i nadpisze jeśli istnieje.
Dopisanie czegoś, bez skasowania poprzedniej zawartości wymaga podwójnego znaku większości:
get-process >> c:\procesy.txt
Zapisanie wyniku w schowku odbywa się za pomocą:
get-process | clip
Wyświetlenie porcjami (wyświetlenie następnej porcji odbywa się za pomocą spacji):
get-process | more
Tak jak wspomniałem na początku, Powershell idzie o kilka kroków dalej w stosunku do CMD, bo obsługuje zapisywanie do plików CSV i HTM i co ciekawe wyświetla w ten sposób znacznie więcej danych niż sam cmdlet – koniecznie zapoznajcie się z tą sztuczką🙂
| more – tego mi trzeba było! dziex
A jak przekierować do pliku „wszystko” a na ekran tylko część?
przykładowo wywołanie n-krotne pingu danego serwera:
ping %%i -n %N% >> ping_test_%_my_datetime%.log
i chciałabym, by na ekran wyświetlało:
Badanie google.com [74.125.136.102] z 32 bajtami danych:
(linie: Odpowiedź z 74.125.136.102: bajtów=32 czas=40ms TTL=45 chcę zachować tylko w logu)
i to bym chciała by było na ekranie:
Statystyka badania ping dla 74.125.136.102:
Pakiety: Wysane = 100, Odebrane = 100, Utracone = 0
(0% straty),
Szacunkowy czas błądzenia pakietów w millisekundach:
Minimum = 40 ms, Maksimum = 467 ms, Czas redni = 75 ms
Any ideas?