Se sei nel mercato per un cmdlet PowerShell in grado di memorizzare l’output in un file di testo, sei fortunato. Stai per imparare come usare il cmdlet PowerShell Out-File insieme al suo popolare parametro Out-File -Append!

Sommario

Come funziona Out-File?

Il cmdlet Out-File di PowerShell è di natura semplice; il suo unico scopo è quello di memorizzare l’output ricevuto e memorizzarlo in un file di testo.,

Out-File è stato progettato per sostituire l’operatore di reindirizzamento standard output (>). Anche dai giorni DOS, potremmo reindirizzare l’output a un file. Questo cmdlet è il modo PowerShell per farlo.

Il cmdlet Out-File viene in genere utilizzato alla fine della pipeline di PowerShell. Il suo unico scopo è quello di inviare l’output raw direttamente a un file di testo senza alcun riguardo. Ci sono modi minimi per modificare il modo in cui viene scritto l’output.,

Invio di output a un file

Supponiamo che tu abbia uno script che restituisce un elenco di tutti i servizi Windows sul tuo computer. Quando eseguiGet-Service, riceverai tutti gli oggetti che potresti aspettarti sulla console.

Ma forse ti piacerebbe salvare quell’output in un file di testo. Il cmdletOut-File è un ottimo modo per farlo. È possibile utilizzare Out-File collegando qualsiasi cosa tramite la pipeline.,

Puoi vedere sotto, l’output diGet-Service è stato inviato al cmdlet che ha creato un file di testo chiamato Services.txt che contiene la visualizzazione esatta che si vede sulla console.

PS> Get-Service | Out-File -FilePath C:\Services.txtPS> Get-Content C:\Services.txtStatus Name DisplayNameStopped AJRouter AllJoyn Router ServiceStopped ALG Application Layer Gateway ServiceStopped AppIDSvc Application IdentityStopped Appinfo Application InformationStopped AppMgmt Application Management<SNIP>

Aggiungendo a un file

Per impostazione predefinita, Out-Filesovrascrive qualsiasi cosa nel file di testo fornito tramite il parametro FilePath. Tuttavia, è possibile ignorare questo comportamento utilizzando il parametroAppend.,

Forse stai accumulando l’output della console in un file e vorresti aggiungere del testo a un file piuttosto che sovrascrivere. Il parametroAppend è il tuo migliore amico.

Utilizzando il parametroOut-File -Append che puoi vedere di seguito, nota che se non lo usi C:\File.txt viene sovrascritto. Ma, non appena si vira sul parametroAppend, aggiunge l’output alla fine.

Modifica dell’output

Per impostazione predefinita, questo cmdlet tenterà di replicare ciò che viene mostrato sulla console, ma ci sono alcuni modi per manipolarlo., Ad esempio, il cmdlet ha un parametro NoNewLine che rimuove semplicemente tutti i caratteri di nuova riga.

Oppure, puoi tagliare il testo su ogni riga con un particolare numero di caratteri con il parametroWidth.

Conclusione

In uno scenario reale, il cmdletOut-File funziona ma ci sono modi migliori per memorizzare l’output in un file.

Il cmdletOut-File non fornisce opzioni reali per manipolare l’output. Salva semplicemente l’output esattamente come mostrato nella console., Questo cmdlet è simile a una trascrizione PowerShell che scrive tutto direttamente in un file di testo.

I cmdletAdd-Content oSet-Content avranno sempre maggiore flessibilità, ma se hai bisogno di un modo rapido per ottenere l’output di PowerShell in un file,Out-File è la strada da percorrere.

Related: Set-Content: Il modo PowerShell per scrivere su un file