Converte gli oggetti Microsoft .NET Framework in una serie di stringhe a lunghezza variabile con valori delimitati da virgole (CSV) e salva le stringhe in un file CSV.
Sintassi
Export-CSV [[-Delimiter] <char>] [-Path] <string> -InputObject <psobject> [-Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>] Export-CSV [-UseCulture] [-Path] <string> -InputObject <psobject> [-Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrizione
Il cmdlet Export-CSV crea un file di lunghezza variabile CSV che rappresenta gli oggetti inviati.
Per ricreare oggetti dalle stringhe CSV nei file, è quindi possibile utilizzare il cmdlet Import-CSV. Gli oggetti risultanti sono le versioni CSV degli oggetti originali costituiti da rappresentazioni di stringhe dei valori delle proprietà senza alcun metodo.
È inoltre possibile utilizzare i cmdlet ConvertTo-CSV e ConvertFrom-CSV per convertire gli oggetti .NET Framework in stringhe CSV (e viceversa). Export-CSV equivale a ConvertTo-CSV, a eccezione del fatto che consente di salvare le stringhe CSV in un file.
È possibile utilizzare i parametri del cmdlet Export-CSV per specificare un delimitatore diverso dalla virgola o fare in modo che Export-CSV utilizzi il delimitatore predefinito per l'impostazione cultura corrente.
Quando si inviano più oggetti a Export-CSV, Export-CSV organizza il file in base alle proprietà del primo oggetto inviato. Se gli oggetti rimanenti non hanno una delle proprietà specificate, il valore della proprietà di tale oggetto è null, rappresentato da due virgole consecutive. Se gli oggetti rimanenti dispongono di proprietà aggiuntive, i valori di tali proprietà non vengono inclusi nel file.
Per ulteriori informazioni, vedere Export-CSV e la sezione Note.
Parametri
-Delimiter <char>
Specifica un delimitatore per separare i valori delle proprietà. Il valore predefinito è la virgola (,). Immettere un carattere, ad esempio i due punti (:). Per specificare il punto e virgola (;), è necessario racchiuderlo tra virgolette doppie.
Obbligatorio? |
false |
Posizione? |
2 |
Valore predefinito |
, (comma) |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Encoding <string>
Specifica la codifica del file CSV esportato. I valori validi sono Unicode, UTF7, UTF8, ASCII, UTF32, BigEndianUnicode, Default e OEM. Il valore predefinito è ASCII.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
ASCII |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Force
Sovrascrive il file specificato nel percorso senza chiedere conferma.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InputObject <psobject>
Specifica gli oggetti da esportare come stringhe CSV. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che consente di ottenere gli oggetti. È inoltre possibile reindirizzare gli oggetti a Export-CSV.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
false |
-NoClobber
Non sovrascrivere un file esistente (sostituirne il contenuto). Per impostazione predefinita, se nel percorso specificato è presente un file, Export-CSV lo sovrascrive senza visualizzare alcun avviso.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-NoTypeInformation
Omette le informazioni sui tipi dal file CSV. Per impostazione predefinita, la prima riga del file CSV contiene "#TYPE" seguito dal nome completo del tipo di oggetto .NET Framework.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Path <string>
Specifica il percorso del file CSV di output. Il parametro è obbligatorio.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-UseCulture
Utilizzare il separatore di elenco per l'impostazione cultura corrente come delimitatore dell'elemento. Il valore predefinito è la virgola (,).
Questo parametro è molto utile negli script distribuiti agli utenti di tutto il mondo. Per trovare il separatore di elenco di un'impostazione cultura, utilizzare il comando (Get-Culture).TextInfo.ListSeparator.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
Comma |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.Management.Automation.PSObject È possibile reindirizzare qualsiasi oggetto .NET Framework a Export-CSV. |
Output |
System.String L'elenco CSV viene inviato al file specificato nel parametro Path. |
Note
Il cmdlet Export-CSV converte gli oggetti inviati in una serie di stringhe a lunghezza variabile CSV e salva le stringhe nel file di testo specificato. È possibile utilizzare Export-CSV per salvare oggetti in un file CSV e utilizzare quindi il cmdlet Import-CSV per creare oggetti dal testo del file CSV.
Nel file CSV, ogni oggetto viene rappresentato da un elenco di valori delle proprietà dell'oggetto separati da virgole. I valori delle proprietà vengono convertiti in stringhe (tramite il metodo ToString() dell'oggetto), pertanto sono in genere rappresentati dal nome del valore della proprietà. Export-CSV non esporta i metodi dell'oggetto.
Il formato di un file esportato è il seguente:
-- La prima riga del file CSV contiene la stringa '#TYPE' seguita dal nome completo del tipo .NET Framework dell'oggetto, ad esempio #TYPE System.Diagnostics.Process. Per eliminare questa riga, utilizzare il parametro NoTypeInformation.
-- Nella riga successiva del file CSV sono rappresentate le intestazioni di colonna È incluso un elenco dei nomi di tutte le proprietà del primo oggetto separati da virgole.
-- Le righe aggiuntive del file sono costituite da elenchi di valori delle proprietà di ogni oggetto separati da virgole.
Esempio 1
C:\PS>get-process wmiprvse | select-object basePriority,ID,SessionID,WorkingSet | export-csv -path data.csv Descrizione ----------- Tramite questo comando alcune proprietà del processo wmiprvse verranno selezionate ed esportate in un file in formato CSV denominato data.csv.
Esempio 2
C:\PS>get-process | export-csv processes.csv C:\PS> get-process | export-csv processes.csv # In processes.csv #TYPE System.Diagnostics.Process __NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,... Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS... Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\... Descrizione ----------- Con questo comando gli oggetti che rappresentano i processi nel computer vengono esportati nel file Processes.csv nella directory corrente. Poiché non viene specificato un delimitatore, viene utilizzata la virgola (,) per separare i campi nel file.
Esempio 3
C:\PS>get-process | export-csv processes.csv -Delimiter ";" # In processes.csv #TYPE System.Diagnostics.Process __NounName;Name;Handles;VM;WS;PM;NPM;Path;Company;CPU;FileVersion;... Process;powershell;626;201666560;76058624;61943808;11960;C:\WINDOWS... Process;powershell;257;151920640;38322176;37052416;7836;C:\WINDOWS\... Descrizione ----------- Con questo comando gli oggetti che rappresentano i processi nel computer vengono esportati nel file Processes.csv nella directory corrente. Viene utilizzato il parametro Delimiter per specificare il punto e virgola (;). Di conseguenza i campi nel file vengono separati da punti e virgola.
Esempio 4
C:\PS>get-process | export-csv processes.csv -UseCulture Descrizione ----------- Con questo comando gli oggetti che rappresentano i processi nel computer vengono esportati nel file Processes.csv nella directory corrente. Viene utilizzato il parametro UseCulture per fare in modo che Export-CSV utilizzi il delimitatore specificato dalla proprietà ListSeparator delle impostazioni cultura correnti.
Esempio 5
C:\PS>get-process | export-csv processes.csv -NoTypeInformation C:\PS> get-process | export-csv processes.csv -NoTypeInformation # In processes.csv __NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,... Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS... Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\... Descrizione ----------- Con questo comando gli oggetti che rappresentano i processi nel computer vengono esportati nel file Processes.csv nella directory corrente. Viene utilizzato il parametro NoTypeInformation per eliminare le informazioni sui tipi nel file.
Vedere anche