Преобразует объекты Microsoft .NET Framework в набор строк переменной длины, содержащих разделенные запятыми значения (CSV), и сохраняет эти строки в CSV-файл.

Синтаксис

Export-CSV [[-Delimiter] <char>] [-Path] <string> -InputObject <psobject> [-Кодирование <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>]

Export-CSV [-UseCulture] [-Path] <string> -InputObject <psobject> [-Кодирование <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>]

Описание

Командлет Export-CSV создает файл из CSV-строк переменной длины, который представляет заданные объекты.

С помощью командлета Import-CSV можно воссоздавать объекты из CSV-строк в файлах. В результате будут получаться объекты, которые являются CSV-версиями исходных объектов и содержат строковые представления значений свойств, но не содержат методов.

Можно также использовать командлеты ConvertTo-CSV и ConvertFrom-CSV для преобразования объектов .NET Framework в строки CSV и обратно. Командлет Export-CSV аналогичен командлету ConvertTo-CSV за исключением того, что он сохраняет строки CSV в файл.

С помощью параметров командлета Export-CSV можно задать отличный от запятой разделитель или сделать так, чтобы командлет Export-CSV использовал разделитель по умолчанию для текущей культуры.

При передаче командлету Export-CSV нескольких объектов командлет Export-CSV формирует файл на основании свойств первого отправленного объекта. Если у оставшихся объектов нет одного из указанных свойств, то значение этого свойства для соответствующего объекта равно NULL, что обозначается двумя последовательными запятыми. Если же у оставшихся объектов имеются дополнительные свойства, значения этих свойств будут проигнорированы.

Дополнительные сведения см. в описании командлета Export-CSV и раздел "Примечания".

Параметры

-Delimiter <char>

Задает разделитель значений свойств. По умолчанию используется запятая (,). Введите символ, например двоеточие (:). Чтобы задать точку с запятой (;), заключите ее в кавычки.

Обязательно?

false

Позиция?

2

Значение по умолчанию

, (comma)

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Кодирование <string>

Задает кодировку экспортируемого CSV-файла. Допустимые значения: Unicode, UTF7, UTF8, ASCII, UTF32, BigEndianUnicode, Default и OEM. По умолчанию используется значение ASCII.

Обязательно?

false

Позиция?

named

Значение по умолчанию

ASCII

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Force

Перезаписывает файл по указанному пути, не выводя предупреждение.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-InputObject <psobject>

Задает объекты для экспорта в формате строк CSV. Введите переменную, содержащую объекты, либо получающую их команду или выражение. Кроме того, можно передать объекты командлету Export-CSV по конвейеру.

Обязательно?

true

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-NoClobber

Не перезаписывать существующий файл (то есть не заменять его содержимое). По умолчанию если файл существует по указанному пути, командлет Export-CSV перезаписывает файл без предупреждения.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-NoTypeInformation

Исключает из CSV-файла сведения о типах. По умолчанию первая строка CSV-файла содержит элемент "#TYPE ", после которого указывается полное имя типа объекта .NET Framework.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Path <string>

Задает путь к выходному CSV-файлу. Это обязательный параметр.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-UseCulture

Использовать в качестве разделителя записей разделитель элементов списка из текущей культуры. По умолчанию используется запятая (,).

Этот параметр бывает полезным в скриптах, которые распространяются среди пользователей в разных странах мира. Чтобы найти разделитель элементов списка для текущей культуры, воспользуйтесь следующей командой: (Get-Culture).TextInfo.ListSeparator.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Comma

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Confirm

Запрашивает подтверждение перед выполнением команды.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-WhatIf

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.Management.Automation.PSObject

Любой объект .NET Framework можно передать командлету Export-CSV по конвейеру.

Выходные данные

System.String

Список CSV отправляется в файл, указанный в параметре Path.

Примечания

Командлет Export-CSV преобразует заданные объекты в набор CSV-строк переменной длины и сохраняет эти строки в указанном текстовом файле. Командлет Export-CSV позволяет сохранить объекты в CSV-файле, а затем с помощью командлета Import-CSV создать объекты на основании содержимого этого CSV-файла.

В CSV-файле каждый объект представляется списком разделенных запятыми значений свойств этого объекта. Значения свойств преобразуются в строковый формат (с помощью метода ToString() объекта), поэтому они обычно представляются именами значений свойств. Командлет Export-CSV не экспортирует методы объекта.

Получаемый в результате экспорта файл имеет следующий формат.

-- Первая строка CSV-файла содержит элемент "#TYPE", за которым следует полное имя типа объекта .NET Framework, например "#TYPE System.Diagnostics.Process". Чтобы исключить из вывода эту строку, воспользуйтесь параметром NoTypeInformation.

-- Следующая строка CSV-файла представляет заголовки столбцов. Она содержит список разделенных запятыми имен всех свойств первого объекта.

-- Оставшиеся строки файла содержат списки разделенных запятыми значений свойств каждого из объектов.

Пример 1

C:\PS>get-process wmiprvse | select-object basePriority,ID,SessionID,WorkingSet | export-csv -path data.csv

Описание
-----------
Эта команда выбирает несколько свойств процесса wmiprvse и экспортирует их в CSV-файл с именем data.csv.






Пример 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\...

Описание
-----------
Эта команда экспортирует объекты, представляющие процессы компьютера, в файл Processes.csv в текущем каталоге. Поскольку в команде не указан разделитель, для отделения друг от друга полей в файле используется запятая (,).






Пример 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\...

Описание
-----------
Эта команда экспортирует объекты, представляющие процессы компьютера, в файл Processes.csv в текущем каталоге. Параметр Delimiter используется в этой команде для указания разделителя в виде точки с запятой (;). В результате поля в файле разделены знаком точки с запятой.






Пример 4

C:\PS>get-process | export-csv processes.csv -UseCulture

Описание
-----------
Эта команда экспортирует объекты, представляющие процессы компьютера, в файл Processes.csv в текущем каталоге. В этой команде параметр UseCulture используется для того, чтобы командлет Export-CSV использовал в качестве разделителя значение свойства ListSeparator текущей культуры.






Пример 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\...

Описание
-----------
Эта команда экспортирует объекты, представляющие процессы компьютера, в файл Processes.csv в текущем каталоге. Чтобы исключить из файла вывода сведения о типе, используется параметр NoTypeInformation.






См. также