Преобразует объекты Microsoft .NET Framework в набор строк переменной длины, содержащих разделенные запятыми значения (CSV).
Синтаксис
ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>] ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
Описание
Командлет ConvertTo-CSV возвращает набор строк переменной длины, содержащих разделенные запятыми значения (CSV), которые представляют отправляемые объекты. С помощью командлета ConvertFrom-CSV можно воссоздавать объекты на базе строк CSV. В результате будут получаться объекты, которые являются CSV-версиями исходных объектов и содержат строковые представления значений свойств, но не содержат методов.
Можно также использовать командлеты Export-CSV и Import-CSV для преобразования объектов .NET Framework в строки CSV и обратно. Командлет Export-CSV аналогичен командлету ConvertTo-CSV за исключением того, что он сохраняет строки CSV в файл.
С помощью параметров командлета ConvertTo-CSV можно задать отличный от запятой разделитель или сделать так, чтобы командлет ConvertTo-CSV использовал разделитель по умолчанию для текущей культуры.
Дополнительные сведения см. в описании командлета Export-CSV и раздел "Примечания".
Параметры
-Delimiter <char>
Задает разделитель значений свойств. По умолчанию используется запятая (,). Введите символ, например двоеточие (:).
Чтобы задать точку с запятой (;), заключите ее в кавычки. В противном случае она будет интерпретироваться в качестве разделителя команд.
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
, (comma) |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <psobject>
Задает объекты для экспорта в формате строк CSV. Введите переменную, содержащую объекты, либо получающую их команду или выражение. Кроме того, можно передать объекты командлету ConvertTo-CSV по конвейеру.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-NoTypeInformation
Исключает из конечных результатов заголовок с типами данных. По умолчанию строка результатов содержит элемент "#TYPE ", после которого указывается полное имя типа объекта .NET Framework.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UseCulture
Использует в качестве разделителя данных разделитель элементов списка из текущей культуры. По умолчанию используется запятая (,).
Этот параметр бывает полезным в скриптах, которые распространяются среди пользователей в разных странах мира. Чтобы найти разделитель элементов списка для текущей культуры, воспользуйтесь следующей командой: (Get-Culture).TextInfo.ListSeparator.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
Comma |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.Management.Automation.PSObject Любой объект .NET Framework можно передать командлету ConvertTo-CSV по конвейеру. |
Выходные данные |
System.String Результат в формате CSV возвращается в виде коллекции строк. |
Примечания
В формате CSV каждый объект представляется списком разделенных запятыми значений его свойств. Значения свойств преобразуются в строковый формат (с помощью метода ToString() объекта), поэтому они обычно представляются именами значений свойств. Командлет ConvertTo-CSV не экспортирует методы объекта.
Получаемые в результате строки CSV имеют следующий формат.
-- Первая строка содержит элемент "#TYPE", за которым следует полное имя типа объекта .NET Framework, например "#TYPE System.Diagnostics.Process". Чтобы исключить из вывода эту строку, воспользуйтесь параметром NoTypeInformation.
-- Следующая строка представляет заголовки столбцов. Она содержит список разделенных запятыми имен всех свойств первого объекта.
-- Оставшиеся строки содержат списки разделенных запятыми значений свойств каждого из объектов.
При передаче командлету ConvertTo-CSV нескольких объектов командлет ConvertTo-CSV формирует строки на основании свойств первого отправленного объекта. Если у оставшихся объектов нет одного из указанных свойств, то значение этого свойства для соответствующего объекта равно NULL, что обозначается двумя последовательными запятыми. Если же у оставшихся объектов имеются дополнительные свойства, эти свойства игнорируются командлетом.
Пример 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",, Описание ----------- Эта команда преобразует один объект процесса в формат CSV. Команда с помощью командлета Get-Process получает выполняющийся на локальном компьютере процесс PowerShell. С помощью оператора конвейера (|) результат выполнения этой команды передается в командлет ConvertTo-CSV, который преобразует его в набор строк разделенных запятыми значений.
Пример 2
C:\PS>$date = get-date C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation Описание ----------- Этот пример преобразует объект даты в формат CSV. Первая команда с помощью командлета Get-Date получает текущее значение даты. Оно сохраняется в переменной $date. Вторая команда использует командлет ConvertTo-CSV, чтобы преобразовать объект DateTime в переменной $date в формат CSV. Команда использует параметр InputObject, чтобы задать подлежащий преобразованию объект. Параметр Delimiter используется в этой команде для указания разделителя свойств объекта. Чтобы исключить из вывода строку #TYPE, используется параметр NoTypeInformation.
Пример 3
C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture Описание ----------- Эта команда преобразует журнал событий Windows PowerShell на локальном компьютере в набор строк CSV. С помощью командлета Get-EventLog эта команда получает события из журнала Windows PowerShell. С помощью оператора конвейера (|) она передает события командлету ConvertTo-CSV, который преобразует события в формат CSV. В этой команде используется параметр UseCulture, указывающий, что в качестве разделителя значений должен использоваться разделитель элементов списка текущей культуры.
См. также