Out-File (Italiano)

postato in: Articles | 0
Modulo: Microsoft.PowerShell.Utility

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-Contentottiene 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

-Append

Aggiunge l’output alla fine di un file esistente.,

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm

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
-Encoding

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
-FilePath

Specifies the path to the output file.,

Type: String
Aliases: Path
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Force

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
-InputObject

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
parametri-LiteralPath

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

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
-NoNewline

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
-WhatIf

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
-Width

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

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