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