Invia l’output a un file.
Sintassi
Descrizione
Il cmdlet Out-File
invia l’output a un file. Utilizza implicitamente il sistema di formattazione di PowerShell per scrivere nel file. Il file riceve la stessa rappresentazione di visualizzazione del terminale. Ciò significa che l’output potrebbe non essere ideale per l’elaborazione programmatica a meno che tutti gli oggetti di input non siano stringhe.,Quando è necessario specificare i parametri per l’output, utilizzare Out-File
anziché redirectionoperator (>
). Per ulteriori informazioni sul reindirizzamento, vedere about_Redirection.
Esempi
Esempio 1: Invia output e crea un file
Questo esempio mostra 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.
Il cmdletGet-Process
ottiene l’elenco dei processi in esecuzione sul computer locale., I Processobjects vengono inviati lungo la pipeline al cmdlet Out-File
. Out-File
utilizza il FilePathparameter e crea un file nella directory corrente denominata Process.txt. Il comandoGet-Content
ottiene il contenuto dal file e lo visualizza nella console PowerShell.
Esempio 2: Impedire la sovrascrittura di un file esistente
Questo esempio impedisce la sovrascrittura di un file esistente. Per impostazione predefinita,Out-File
sovrascrive i file esistenti.,
Il cmdletGet-Process
ottiene l’elenco dei processi in esecuzione sul computer locale. I Processobjects vengono inviati lungo la pipeline al cmdlet Out-File
. Out-File
utilizza il FilePathparameter e tenta di scrivere in un file nella directory corrente denominata Process.txt. Il parametro TheNoClobber impedisce la sovrascrittura del file e visualizza un messaggio che il file esiste già.
Esempio 3: Invia l’output a un file in formato ASCII
Questo esempio mostra come codificare l’output con un tipo di codifica specifico.,
$Procs = Get-ProcessOut-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
Il cmdletGet-Process
ottiene l’elenco dei processi in esecuzione sul computer locale. I Processobjects sono memorizzati nella variabile, $Procs
. Out-File
utilizza il parametro FilePath e crea un file nella directory corrente denominata Process.txt. Il parametro InputObject passa theprocess objects in $Procs
al processo del file.txt. Il parametro Encoding converte l’output in formato ASCII. Il parametro Width limita ogni riga del file a 50 caratteri, cosìalcuni dati potrebbero essere troncati.,
Esempio 4: Utilizzare un provider e inviare l’output a un file
Questo esempio mostra come utilizzare il cmdletOut-File
quando non si è in un filesystem providerdrive. Utilizzare il cmdlet Get-PSProvider
per visualizzare i provider sul computer locale. Per ulteriori informazioni, vedere about_Providers.
Il comando Set-Location
utilizza il parametro Path per impostare la posizione corrente su registryprovider Alias:
. Il cmdletGet-Location
visualizza il percorso completo diAlias:
.,Get-ChildItem
invia gli oggetti lungo la pipeline al cmdletOut-File
. Out-File
utilizza il parametro Filepath per specificare il percorso completo e il nome del file per l’output,C:\TestDir\AliasNames.txt. Il cmdletGet-Content
utilizza il parametro Path e visualizza il contenuto del file nella console PowerShell.
Parametri
Aggiunge l’output alla fine di un file esistente.,
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.,
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the type of encoding for the target file. The default value is utf8NoBOM
.,
I valori accettabili per questo parametro sono i seguenti:
-
ascii
: Utilizza la codifica per il set di caratteri ASCII (7-bit). -
bigendianunicode
: Codifica in formato UTF-16 utilizzando l’ordine dei byte big-endian. -
bigendianutf32
: Codifica in formato UTF-32 utilizzando l’ordine dei byte big-endian. -
oem
: Utilizza la codifica predefinita per i programmi MS-DOS e console. -
unicode
: Codifica in formato UTF-16 usando l’ordine dei byte little-endian., -
utf7
: Codifica in formato UTF-7. -
utf8
: Codifica in formato UTF-8. -
utf8BOM
: Codifica in formato UTF-8 con BOM (Byte Order Mark) -
utf8NoBOM
: Codifica in formato UTF-8 senza BOM (Byte Order Mark) -
utf32
: Codifica in UTF-32 formato.
A partire da PowerShell 6.,2, il parametro di codifica consente anche ID numerici di codepages registrati (come -Encoding 1251
) o nomi di stringhe di code page registrati (come-Encoding "windows-1251"
). Per ulteriori informazioni, consultare la documentazione. NET perEncoding.CodePage.
Nota
UTF-7* non è più raccomandato per l’uso. In PowerShell 7.1, viene scritto un avviso se si specifica utf7
per il parametro di codifica.,
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | 1 |
Default value: | UTF8NoBOM |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the path to the output file.,
Type: | String |
Aliases: | Path |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Overrides the read-only attribute and overwrites an existing read-only file. The Force parameterdoes not override security restrictions.,
Tipo: | SwitchParameter |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Specifica gli oggetti per essere scritto nel file. Immettere una variabile che contiene gli oggetti o il tipoun comando o un’espressione che ottiene gli oggetti.,
Tipo: | PSObject |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | True |
Accetta i caratteri jolly: | False |
Specifica il percorso del file di output. Il parametro LiteralPath viene utilizzato esattamente come viene digitato.I caratteri jolly non sono accettati. Se il percorso include caratteri di escape, racchiuderlo in contrassegni singlequotation., Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come escapesequences. Per ulteriori informazioni, vedere about_Quoting_Rules.,
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
NoClobber prevents an existing file from being overwritten and displays a message that the filealready exists., Per impostazione predefinita, se esiste un file nel percorso specificato,Out-File
sovrascrive il filesenza avviso.,
Tipo: | SwitchParameter |
Alias: | NoOverwrite |
Posizione: | Nome |
valore di Default: | Nessuno |
Accettare input: | False |
Accetta i caratteri jolly: | False |
Specifica che il contenuto scritto nel file non termina con un carattere di nuova riga. Le stringrepresentazioni degli oggetti di input vengono concatenate per formare l’output., Non vengono inseriti spazi o newline tra le stringhe di output. Nessuna nuova riga viene aggiunta dopo l’ultima stringa di output.
Tipo: | SwitchParameter |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Mostra cosa potrebbe accadere se il cmdlet viene eseguito. Il cmdlet non viene eseguito.,
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the number of characters in each line of output. Any additional characters are truncated,not wrapped., Se questo parametro non viene utilizzato, la larghezza è determinata dalle caratteristiche delhost. Il valore predefinito per la console PowerShell è 80 caratteri.
Tipo: | Int32 |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Ingresso
PSObject
È possibile reindirizzare qualsiasi oggetto Out-File
.,
Uscite
Nessuna
Out-File
non genera alcun output.
Note
Gli oggetti di input vengono formattati automaticamente come sarebbero nel terminale, ma è possibile utilizzare un cmdletFormat-*
per controllare esplicitamente la formattazione dell’output nel file. Ad esempio,Get-Date | Format-List | Out-File out.txt
Per inviare l’output di un comando PowerShell al cmdletOut-File
, utilizzare la pipeline. In alternativa, è possibile memorizzare i dati in una variabile e utilizzare il parametro InputObject per passare i dati al cmdletOut-File
.,
Out-File
salva i dati in un file ma non produce alcun oggetto di output nella pipeline.
- about_Providers
- about_Quoting_Rules
- Out-Default
- Out-Host
- Out-Null
- Out-String
- Tee-Oggetto
Lascia un commento