Articles

How To Output To A File In Powershell With Out-File and Export-Csv Cmdlet?

Out-File jest cmdletem dostarczanym przez biblioteki rdzenia Powershell. Ten cmdlet dostarcza funkcji do zapisywania utworzonych danych wyjściowych do pliku w systemie plików. W tym poradniku przyjrzymy się różnym sposobom zapisywania danych wyjściowych do pliku za pomocą cmdletów Out-File i Export-CSV.

Jednym z podstawowych scenariuszy użycia out-file jest zapisywanie danych wyjściowych do pliku bez ich zmiany. W tym przykładzie zapiszemy dane wyjściowe polecenia Get-Process do pliku o nazwie process.txt za pomocą polecenia piping. Nazwa pliku może być określona jako pełna ścieżka jak C:\user\process.txt

PS> Get-Process | Out-File process.txt
Zapisz do pliku
Zapisz do pliku

Append Into Existing File

Jeśli chcemy tylko dodać nowe linie i nie chcemy usuwać istniejących danych powinniśmy dodać nowe dane za pomocą opcji -Append jak poniżej.

PS> Get-Process | Out-File -Append process.txt

Write As CSV

Możemy zapisać utworzone dane wyjściowe do pliku w formacie CSV. Format CSV delimituje kolumny przecinkiem. Do tej operacji użyjemy polecenia Export-Csv cmdlet. Zajmie to więcej czasu niż surowy zapis do pliku, ponieważ wiersz zostanie oddzielony, a każda kolumna zostanie ograniczona za pomocą polecenia.

PS> Get-Process | Export-Csv test.txt
Write As CSV
Write As CSV

Write Both File and Console

Inną najczęściej używaną funkcją jest zapisywanie danych wyjściowych do pliku i drukowanie ich w konsoli. Dostarczy to pełnych informacji o danych wyjściowych. Użyjemy Tee-Object, który jest dziedziczony z systemu operacyjnego Linux.

W tym przykładzie otrzymujemy dir wyjście polecenia do konsoli i plik o nazwie dirs.txt

PS> Dir | Tee-Object -f dirs.txt
Write Both File and Console
Write Both File and Console

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *