Out-File
Invia l'output a un file.
Sintassi
Out-File
[-FilePath] <string>
[[-Encoding] <string>]
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Out-File
[[-Encoding] <string>]
-LiteralPath <string>
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet invia l'output Out-File
a un file. Quando è necessario specificare i parametri per l'uso Out-File
dell'output anziché l'operatore di reindirizzamento (>
).
Esempio
Esempio 1: Inviare l'output e creare un file
In questo esempio viene illustrato come inviare un elenco dei processi del computer locale a un file. Se il file non esiste, Out-File
crea il file nel percorso specificato.
Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
29 22.39 35.40 10.98 42764 9 Application
53 99.04 113.96 0.00 32664 0 CcmExec
27 96.62 112.43 113.00 17720 9 Code
Il Get-Process
cmdlet ottiene l'elenco dei processi in esecuzione nel computer locale. Gli oggetti Process vengono inviati alla pipeline al Out-File
cmdlet. Out-File
usa il parametro FilePath e crea un file nella directory corrente denominata Process.txt. Il Get-Content
comando ottiene contenuto dal file e lo visualizza nella console di PowerShell.
Esempio 2: Impedire che un file esistente venga sovrascritto
In questo esempio viene impedito l'sovrascritto di un file esistente. Per impostazione predefinita, Out-File
sovrascrive i file esistenti.
Get-Process | Out-File -FilePath .\Process.txt -NoClobber
Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il Get-Process
cmdlet ottiene l'elenco dei processi in esecuzione nel computer locale. Gli oggetti Process vengono inviati alla pipeline al Out-File
cmdlet. Out-File
usa il parametro FilePath e tenta di scrivere in un file nella directory corrente denominata Process.txt. Il parametro NoClobber impedisce che il file venga sovrascritto e visualizzi un messaggio che il file esiste già.
Esempio 3: Inviare l'output a un file in formato ASCII
In questo esempio viene illustrato come codificare l'output con un tipo di codifica specifico.
$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
Il Get-Process
cmdlet ottiene l'elenco dei processi in esecuzione nel computer locale. Gli oggetti Process vengono archiviati nella variabile , $Procs
. Out-File
usa il parametro FilePath e crea un file nella directory corrente denominata Process.txt. Il parametro InputObject passa gli oggetti di processo nel $Procs
file Process.txt. Il parametro Codifica converte l'output in formato ASCII . Il parametro Width limita ogni riga del file a 50 caratteri in modo che alcuni dati possano essere troncati.
Esempio 4: Usare un provider e inviare l'output a un file
In questo esempio viene illustrato come usare il cmdlet quando non si è in un'unità Out-File
del provider FileSystem . Usare il Get-PSProvider
cmdlet per visualizzare i provider nel computer locale. Per altre informazioni, vedere about_Providers.
PS> Set-Location -Path Alias:
PS> Get-Location
Path
----
Alias:\
PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt
PS> Get-Content -Path C:\TestDir\AliasNames.txt
CommandType Name
----------- ----
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias cat -> Get-Content
Il Set-Location
comando usa il parametro Path per impostare il percorso corrente sul provider Alias:
del Registro di sistema . Il Get-Location
cmdlet visualizza il percorso completo per Alias:
.
Get-ChildItem
invia oggetti alla pipeline al Out-File
cmdlet. Out-File
usa il parametro FilePath per specificare il percorso completo e il nome file per l'output, C:\TestDir\AliasNames.txt. Il Get-Content
cmdlet usa il parametro Path e visualizza il contenuto del file nella console di PowerShell.
Parametri
-Append
Aggiunge l'output alla fine di un file esistente. Se non viene specificata alcuna codifica , il cmdlet usa la codifica predefinita. Tale codifica potrebbe non corrispondere alla codifica del file di destinazione. Si tratta dello stesso comportamento dell'operatore di reindirizzamento (>>
).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
Specifica il tipo di codifica per il file di destinazione. Il valore predefinito è Unicode.
I valori accettabili per questo parametro sono i seguenti:
- ASCII Usa il set di caratteri ASCII (a 7 bit).
- BigEndianUnicode Usa UTF-16 con l'ordine di byte big-endian.
- Predefinito Usa la codifica corrispondente alla tabella codici attiva del sistema (in genere ANSI).
- OEM Usa la codifica corrispondente alla tabella codici OEM corrente del sistema.
- Stringa Uguale a Unicode.
- Unicode Usa UTF-16 con l'ordine di byte little-endian.
- Sconosciuto Uguale a Unicode.
- UTF7 Usa UTF-7.
- UTF8 Usa UTF-8.
- UTF32 Usa UTF-32 con l'ordine di byte little-endian.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | 1 |
Default value: | Unicode |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Specifica il percorso del file di output.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Esegue l'override dell'attributo di sola lettura e sovrascrive un file di sola lettura esistente. Il parametro Force non esegue l'override delle restrizioni di sicurezza.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica gli oggetti da scrivere nel file. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Specifica il percorso del file di output. Il parametro LiteralPath viene usato esattamente come digitato. I caratteri jolly non sono accettati. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare i caratteri come sequenze di escape. Per altre informazioni, vedere about_Quoting_Rules.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoClobber
NoClobber impedisce la sovrascrizione di un file esistente e visualizza un messaggio che il file esiste già. Per impostazione predefinita, se un file esiste nel percorso specificato, Out-File
sovrascrive il file senza avviso.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewline
Specifica che il contenuto scritto nel file non termina con un carattere di nuova riga. Le rappresentazioni di stringa degli oggetti di input vengono concatenate per formare l'output. Non vengono inseriti spazi o nuove righe tra le stringhe di output. Nessuna nuova riga viene aggiunta dopo l'ultima stringa di output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Width
Specifica il numero di caratteri di ogni riga di output. Eventuali caratteri aggiuntivi vengono troncati e non portati a capo. Se questo parametro non viene usato, la larghezza viene determinata dalle caratteristiche dell'host. Il valore predefinito per la console di PowerShell è 80 caratteri.
Type: | Int |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile eseguire la pipe di qualsiasi oggetto in Out-File
.
Output
None
Out-File
non genera alcun output.
Note
I Out
cmdlet non formattano gli oggetti, ma li eseguono il rendering e li inviano alla destinazione di visualizzazione specificata. Se si invia un oggetto non formattato a un cmdlet, il cmdlet lo invia a un Out
cmdlet di formattazione prima di eseguire il rendering.
Per inviare l'output di un comando di PowerShell al Out-File
cmdlet, usare la pipeline. È possibile archiviare i dati in una variabile e usare il parametro InputObject per passare i dati al Out-File
cmdlet.
Out-File
invia dati ma non produce oggetti di output. Se si esegue la pipe dell'output di Out-File
in Get-Member
, il Get-Member
cmdlet segnala che non sono stati specificati oggetti.