Articles

Come produrre output su un file in Powershell con Out-File e Export-Csv Cmdlet?

Out-File è un cmdlet fornito dalle librerie di base di Powershell. Questo cmdlet fornisce funzioni per scrivere l’output creato in un file nel file system. In questo tutorial, vedremo diversi modi per scrivere l’output in un file con Out-File e Export-CSV cmdlets.

Uno degli scenari di utilizzo di base di out-file è scrivere l’output in un file senza modificarlo. In questo esempio scriveremo l’output del comando Get-Process in un file chiamato process.txt tramite piping. Il nome del file può essere specificato come percorso completo come C:\user\process.txt

PS> Get-Process | Out-File process.txt
Scrivi in un file
Scrivi in un file

Append Into Existing File

Se vogliamo solo aggiungere nuove righe e non vogliamo rimuovere i dati esistenti dovremmo aggiungere nuovi dati con l’opzione -Append come sotto.

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

Scrivi come CSV

Possiamo scrivere l’output creato in un file in formato CSV. Il formato CSV delimita le colonne con la virgola. Useremo Export-Csv cmdlet per questa operazione. Questo richiederà più tempo rispetto alla scrittura grezza nel file perché la riga sarà separata e ogni colonna sarà delimitata con il comando.

PS> Get-Process | Export-Csv test.txt
Scrivi come CSV
Scrivi come CSV

Scrivere sia su file che su console

Un’altra caratteristica molto usata è quella di scrivere l’output in un file stampandolo anche nella console. Questo fornirà informazioni verbose sull’output. Useremo Tee-Object che è ereditato dal sistema operativo Linux.

In questo esempio otteniamo dir l’output del comando nella console e il file chiamato dirs.txt

PS> Dir | Tee-Object -f dirs.txt
Scrivere sia file che console
Scrivere sia file che console

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *