ConvertTo-CSV
Convierte los objetos de Microsoft .NET Framework en una serie de cadenas CSV (valores separados por comas) de longitud variable.
Sintaxis
ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
Descripción
El cmdlet ConvertTo-CSV devuelve una serie de cadenas CSV (valores separados por comas) de longitud variable que representan los objetos que se envían. A continuación, puede usar el cmdlet ConvertFrom-CSV para volver a crear objetos a partir de las cadenas CSV. Los objetos resultantes son versiones CSV de los objetos originales que se componen de representaciones de cadena de los valores de propiedad y ningún método.
También puede utilizar los cmdlets Export-CSV e Import-CSV para convertir los objetos de .NET Framework en cadenas CSV (y viceversa). Export-CSV es igual que ConvertTo-CSV, salvo en que guarda las cadenas CSV en un archivo.
Puede utilizar los parámetros del cmdlet ConvertTo-CSV para especificar un delimitador que no sea una coma o para indicar a ConvertTo-CSV que use el delimitador predeterminado de la actual referencia cultural.
Para obtener más información, vea Export-CSV y la sección Notas.
Parámetros
-Delimiter <char>
Especifica un delimitador para separar los valores de propiedad. El delimitador predeterminado es una coma (,). Escriba un carácter, como un signo de dos puntos (:).
Para especificar un signo de punto y coma (;), escríbalo entre comillas. De lo contrario, se interpretará como delimitador de comando.
¿Requerido? |
false |
¿Posición? |
2 |
Valor predeterminado |
, (comma) |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-InputObject <psobject>
Especifica los objetos que se van a exportar como cadenas CSV. Especifique la variable que contiene los objetos o escriba un comando o una expresión que los obtenga. También puede canalizar los objetos a ConvertTo-CSV.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-NoTypeInformation
Omite el encabezado de información de tipo del resultado. De forma predeterminada, la cadena en el resultado contiene "#TYPE" seguido del nombre completo del tipo del objeto de .NET Framework.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-UseCulture
Utiliza como delimitador de datos el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,).
Este parámetro es muy útil en scripts que se distribuyen a usuarios por todo el mundo. Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (Get-Culture).TextInfo.ListSeparator.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
Comma |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.Management.Automation.PSObject Puede canalizar cualquier objeto de .NET Framework a ConvertTo-CSV. |
Salidas |
System.String El resultado CSV se devuelve como una colección de cadenas. |
Notas
En formato CSV, cada objeto viene representado por una lista delimitada por comas de sus valores de propiedad. Los valores de propiedad se convierten en cadenas (mediante el método ToString() del objeto) de modo que se representan de manera general mediante el nombre del valor de propiedad. ConvertTo-CSV no exporta los métodos del objeto.
Este es el formato de las cadenas CSV resultantes:
-- La primera cadena se compone de '#TYPE' seguido del nombre completo del tipo de .NET Framework del objeto, como #TYPE System.Diagnostics.Process. Para suprimir esta cadena, utilice el parámetro NoTypeInformation.
-- La siguiente cadena representa los encabezados de columna. Contiene una lista delimitada por comas con los nombres de todas las propiedades del primer objeto.
-- Las cadenas restantes se componen de listas delimitadas por comas con los valores de propiedad de cada objeto.
Cuando se envían varios objetos a ConvertTo-CSV, ConvertTo-CSV ordena las cadenas según las propiedades del primer objeto enviado. Si los objetos restantes no tienen una de las propiedades especificadas, el valor de propiedad de ese objeto es NULL, lo cual se representa mediante dos comas consecutivas. Si los objetos restantes tienen propiedades adicionales, se omiten esos valores de propiedad.
Ejemplo 1
C:\PS>get-process powershell | convertto-csv
#TYPE System.Diagnostics.Process
"__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion","ProductVersion","Description",
"Product","BasePriority","ExitCode","HasExited","ExitTime","Handle","HandleCount","Id","MachineName","MainWindowHandle"
,"MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","Modules","NonpagedSystemMemorySize","NonpagedSystemMem
orySize64","PagedMemorySize","PagedMemorySize64","PagedSystemMemorySize","PagedSystemMemorySize64","PeakPagedMemorySize
","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingSet64","PeakVirtualMemorySize","PeakVirtualMemorySize64","Priori
tyBoostEnabled","PriorityClass","PrivateMemorySize","PrivateMemorySize64","PrivilegedProcessorTime","ProcessName","Proc
essorAffinity","Responding","SessionId","StartInfo","StartTime","SynchronizingObject","Threads","TotalProcessorTime","U
serProcessorTime","VirtualMemorySize","VirtualMemorySize64","EnableRaisingEvents","StandardInput","StandardOutput","Sta
ndardError","WorkingSet","WorkingSet64","Site","Container"
"Process","powershell","216","597544960","60399616","63197184","21692","C:\WINDOWS\system32\WindowsPowerShell\v1.0\powe
rshell.exe","Microsoft Corporation","3.4788223","6.1.6587.1 (fbl_srv_powershell(nigels).070711-0102)","6.1.6587.1","Win
dows PowerShell","Microsoft® Windows® Operating System","8",,"False",,"860","216","5132",".","5636936","Windows PowerSh
ell 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.exe)","1413120","204800","System.Diagnosti
cs.ProcessModuleCollection","21692","21692","63197184","63197184","320080","320080","63868928","63868928","60715008","6
0715008","598642688","598642688","True","Normal","63197184","63197184","00:00:00.2028013","powershell","15","True","1",
"System.Diagnostics.ProcessStartInfo","4/21/2008 3:49:19 PM",,"System.Diagnostics.ProcessThreadCollection","00:00:03.51
00225","00:00:03.3072212","597544960","597544960","False",,,,"60399616","60399616",,
Descripción
-----------
Este comando convierte un solo objeto de proceso en formato CSV. El comando utiliza el cmdlet Get-Process para obtener el proceso de PowerShell en el equipo local. Utiliza un operador de canalización (|) para enviar el comando al cmdlet ConvertTo-CSV, que lo convierte en una serie de cadenas separadas por comas.
Ejemplo 2
C:\PS>$date = get-date
C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation
Descripción
-----------
En este ejemplo, se convierte un objeto de fecha en formato CSV.
El primer comando utiliza el cmdlet Get-Date para obtener la fecha actual. La guarda en la variable $date.
El segundo comando usa el cmdlet ConvertTo-CSV para convertir en formato CSV el objeto DateTime guardado en la variable $date. El comando utiliza el parámetro InputObject para especificar el objeto que se va a convertir. Utiliza el parámetro Delimiter para especificar el delimitador que separa las propiedades del objeto. Utiliza el parámetro NoTypeInformation para suprimir la cadena #TYPE.
Ejemplo 3
C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture
Descripción
-----------
Este comando convierte en una serie de cadenas CSV el registro de eventos de Windows PowerShell en el equipo local.
El comando utiliza el cmdlet Get-EventLog para obtener los eventos del registro de Windows PowerShell. Un operador de canalización (|) envía los eventos al cmdlet ConvertTo-CSV, que los convierte en formato CSV. El comando utiliza el parámetro UseCulture, que utiliza como delimitador el separador de lista de la actual referencia cultural.