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
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 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