Поиск по сайту:

Export-Csv (Microsoft.PowerShell.Utility)


Export-Csv

Модуль:
Microsoft.PowerShell.Utility

Преобразует объекты в серию строк значений, разделенных символами (CSV), и сохраняет строки в файл.

Синтаксис

Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [[-Delimiter] <Char>]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-NoHeader]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Csv
      -InputObject <PSObject>
      [[-Path] <String>]
      [-LiteralPath <String>]
      [-Force]
      [-NoClobber]
      [-Encoding <Encoding>]
      [-Append]
      [-UseCulture]
      [-IncludeTypeInformation]
      [-NoTypeInformation]
      [-QuoteFields <String[]>]
      [-UseQuotes <QuoteKind>]
      [-NoHeader]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

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

Не форматируйте объекты перед отправкой их командлету Export-CSV. Если Export-CSV получает отформатированные объекты, файл CSV содержит свойства формата, а не свойства объекта. Чтобы экспортировать только выбранные свойства объекта, используйте командлет Select-Object.

Примеры

Пример 1. Экспорт свойств процесса в файл CSV.

В этом примере выбираются объекты Process с определенными свойствами и экспортируются объекты в файл CSV.

Get-Process -Name WmiPrvSE |
    Select-Object -Property BasePriority,Id,SessionId,WorkingSet |
    Export-Csv -Path .\WmiData.csv -NoTypeInformation
Import-Csv -Path .\WmiData.csv

BasePriority Id    SessionId WorkingSet
------------ --    --------- ----------
8            976   0         20267008
8            2292  0         36786176
8            3816  0         30351360
8            8604  0         15011840
8            10008 0         8830976
8            11764 0         14237696
8            54632 0         9502720

Командлет Get-Process получает объекты Process. Параметр Name фильтрует выходные данные, включив в них только объекты процесса WmiPrvSE. Объекты процесса передаются по конвейеру в командлет Select-Object. Select-Object использует параметр Property для выбора подмножества свойств объекта процесса. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл WmiData.csv сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Import-Csv использует <Path для отображения файла, расположенного в текущем каталоге.

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

В этом примере получаются объекты Process и экспортируются объекты в файл CSV.

Get-Process | Export-Csv -Path .\Processes.csv -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name","SI","Handles","VM","WS","PM","NPM","Path","Parent","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","511","2203597099008","35364864","21979136","30048", ...

Командлет Get-Process получает объекты Process. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл Processes.csv сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content использует Get-ContentPath для отображения файла, расположенного в текущем каталоге.

Пример 3. Экспорт процессов в файл, разделенный точкой с запятой.

В этом примере получаются объекты Process и экспортируются объекты в файл с разделителем точкой с запятой.

Get-Process | Export-Csv -Path .\Processes.csv -Delimiter ';' -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name";"SI";"Handles";"VM";"WS";"PM";"NPM";"Path";"Parent";"Company";"CPU";"FileVersion"; ...
"ApplicationFrameHost";"4";"509";"2203595321344";"34807808";"21770240";"29504"; ...

Командлет Get-Process получает объекты Process. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл Processes.csv сохраняется в текущем каталоге. Параметр Delimiter указывает точку с запятой для разделения строковых значений. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content использует Get-ContentPath для отображения файла, расположенного в текущем каталоге.

Пример 4. Экспорт процессов с использованием разделителя списка текущего языка и региональных параметров.

В этом примере получаются объекты Process и экспортируются объекты в файл. Разделитель — это разделитель списка текущего языка и региональных параметров.

(Get-Culture).TextInfo.ListSeparator
Get-Process | Export-Csv -Path .\Processes.csv -UseCulture -NoTypeInformation
Get-Content -Path .\Processes.csv

"Name","SI","Handles","VM","WS","PM","NPM","Path","Parent","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","511","2203597099008","35364864","21979136","30048", ...

Командлет Get-Culture использует вложенные свойства TextInfo и ListSeparator и отображает разделитель списка по умолчанию для текущей культуры. Командлет Get-Process получает объекты Process. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл Processes.csv сохраняется в текущем каталоге. Параметр UseCulture использует в качестве разделителя разделитель списка по умолчанию для текущей культуры. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content использует Get-ContentPath для отображения файла, расположенного в текущем каталоге.

Пример 5: Экспорт процессов с информацией о типе

В этом примере объясняется, как включить информацию заголовка #TYPE в файл CSV. Заголовок #TYPE используется по умолчанию в версиях до PowerShell 6.0.

Get-Process | Export-Csv -Path .\Processes.csv -IncludeTypeInformation
Get-Content -Path .\Processes.csv

#TYPE System.Diagnostics.Process
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"ApplicationFrameHost","4","507","2203595001856","35139584","20934656","29504", ...

Командлет Get-Process получает объекты Process. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл Processes.csv сохраняется в текущем каталоге. IncludeTypeInformation включает информационный заголовок #TYPE в выходные данные CSV. Командлет Get-Content использует параметр Path для отображения файла, расположенного в текущем каталоге.

Пример 6. Экспорт и добавление объектов в файл CSV.

В этом примере описывается, как экспортировать объекты в файл CSV и использовать параметр Append для добавления объектов в существующий файл.

$AppService = (Get-Service -DisplayName *Application* | Select-Object -Property DisplayName, Status)
$AppService | Export-Csv -Path .\Services.Csv -NoTypeInformation
Get-Content -Path .\Services.Csv
$WinService = (Get-Service -DisplayName *Windows* | Select-Object -Property DisplayName, Status)
$WinService | Export-Csv -Path .\Services.csv -NoTypeInformation -Append
Get-Content -Path .\Services.Csv

"DisplayName","Status"
"Application Layer Gateway Service","Stopped"
"Application Identity","Running"
"Windows Audio Endpoint Builder","Running"
"Windows Audio","Running"
"Windows Event Log","Running"

Командлет Get-Service получает объекты службы. Параметр DisplayName возвращает службы, содержащие слово «Приложение». Объекты службы передаются по конвейеру в командлет Select-Object. Select-Object использует параметр Property для указания свойств DisplayName и Status. Переменная $AppService хранит объекты.

Объекты $AppService передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты службы в серию строк CSV. Параметр Path указывает, что файл Services.csv сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content использует Get-ContentPath для отображения файла, расположенного в текущем каталоге.

Командлеты Get-Service и Select-Object повторяются для служб, содержащих слово Windows. Переменная $WinService хранит объекты службы. Командлет Export-Csv использует параметр Append, чтобы указать, что объекты $WinService добавляются в существующий файл Services.csv файл. Командлет Get-Content повторяется для отображения обновленного файла, содержащего добавленные данные.

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

В этом примере показано, почему важно не использовать командлет формата в конвейере. При получении неожиданных выходных данных устраните неполадки синтаксиса конвейера.

Get-Date | Select-Object -Property DateTime, Day, DayOfWeek, DayOfYear |
 Export-Csv -Path .\DateTime.csv -NoTypeInformation
Get-Content -Path .\DateTime.csv

"DateTime","Day","DayOfWeek","DayOfYear"
"Wednesday, January 2, 2019 14:59:34","2","Wednesday","2"

Get-Date | Format-Table -Property DateTime, Day, DayOfWeek, DayOfYear |
 Export-Csv -Path .\FTDateTime.csv -NoTypeInformation
Get-Content -Path .\FTDateTime.csv

"ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo", ...
"033ecb2bc07a4d43b5ef94ed5a35d280",,,,"Microsoft.PowerShell.Commands.Internal.Format. ...
"9e210fe47d09416682b841769c78b8a3",,,,,
"27c87ef9bbda4f709f6b4002fa4af63c",,,,,
"4ec4f0187cb04f4cb6973460dfe252df",,,,,
"cf522b78d86c486691226b40aa69e95c",,,,,

Командлет Get-Date получает объект DateTime. Объект передается по конвейеру командлету Select-Object. Select-Object использует параметр Property для выбора подмножества свойств объекта. Объект передается по конвейеру командлету Export-Csv. Export-Csv преобразует объект в формат CSV. Параметр Path указывает, что файл DateTime.csv сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content использует Get-ContentPath для отображения CSV-файла, расположенного в текущем каталоге.

Когда командлет Format-Table используется в конвейере для выбора свойств, получаются непредвиденные результаты. Format-Table отправляет объекты формата таблицы по конвейеру в командлет Export-Csv, а не в объект DateTime. Export-Csv преобразует объекты формата таблицы в серию строк CSV. Командлет Get-Content отображает CSV-файл, содержащий объекты формата таблицы.

Пример 8. Использование параметра Force для перезаписи файлов, доступных только для чтения.

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

New-Item -Path .\ReadOnly.csv -ItemType File
Set-ItemProperty -Path .\ReadOnly.csv -Name IsReadOnly -Value $true
Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation

Export-Csv : Access to the path 'C:\ReadOnly.csv' is denied.
At line:1 char:15
+ Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation
+               ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OpenError: (:) [Export-Csv], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand

Get-Process | Export-Csv -Path .\ReadOnly.csv -NoTypeInformation -Force
Get-Content -Path .\ReadOnly.csv

"Name";"SI";"Handles";"VM";"WS";"PM";"NPM";"Path";"Parent";"Company";"CPU";"FileVersion"; ...
"ApplicationFrameHost";"4";"509";"2203595321344";"34807808";"21770240";"29504"; ...

Командлет New-Item использует параметры Path и ItemType для создания файла ReadOnly.csv в текущем каталоге. . Командлет Set-ItemProperty использует параметры Name и Value, чтобы изменить свойство IsReadOnly файла на значение true. Командлет Get-Process получает объекты Process. Объекты процесса передаются по конвейеру командлету Export-Csv. Export-Csv преобразует объекты процесса в серию строк CSV. Параметр Path указывает, что файл ReadOnly.csv сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6. Выходные данные показывают, что файл не записывается, поскольку доступ запрещен.

Параметр Force добавляется в командлет Export-Csv, чтобы принудительно выполнить запись экспорта в файл. Командлет Get-Content использует параметр Path для отображения файла, расположенного в текущем каталоге.

Пример 9. Использование параметра Force с функцией Append

В этом примере показано, как использовать параметры Force и Append. При объединении этих параметров несовпадающие свойства объекта могут быть записаны в файл CSV.

$Content = [PSCustomObject]@{Name = 'PowerShell'; Version = '7.0'}
$Content | Export-Csv -Path .\ParmFile.csv -NoTypeInformation
$AdditionalContent = [PSCustomObject]@{Name = 'Windows PowerShell'; Edition = 'Desktop'}
$AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append

Export-Csv : Cannot append CSV content to the following file: ParmFile.csv.
The appended object does not have a property that corresponds to the following column:
Version. To continue with mismatched properties, add the -Force parameter, and then retry
 the command.
At line:1 char:22
+ $AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidData: (Version:String) [Export-Csv], InvalidOperationException
+ FullyQualifiedErrorId : CannotAppendCsvWithMismatchedPropertyNames,Microsoft.PowerShell. ...

$AdditionalContent | Export-Csv -Path .\ParmFile.csv -NoTypeInformation -Append -Force
Import-Csv -Path .\ParmFile.csv

Name               Version
----               -------
PowerShell         7.0
Windows PowerShell

Выражение создает объект PSCustomObject со свойствами Name и Version. Значения хранятся в переменной $Content. Переменная $Content передается по конвейеру в командлет Export-Csv. Export-Csv использует параметр Path и сохраняет файл ParmFile.csv в текущем каталоге. Параметр NoTypeInformation удаляет информационный заголовок #TYPE из выходных данных CSV и не требуется в PowerShell 6.

Другое выражение создает PSCustomObject со свойствами Name и Edition. Значения хранятся в переменной $AdditionalContent. Переменная $AdditionalContent передается по конвейеру в командлет Export-Csv. Параметр Append используется для добавления данных в файл. Присоединение завершается неудачей, поскольку между Version и Edition не совпадает имя свойства.

Параметр командлета Export-Csv Force используется для принудительной записи экспорта в файл. Свойство Edition удаляется. Командлет Import-Csv использует параметр Path для отображения файла, расположенного в текущем каталоге.

Пример 10. Экспорт в CSV с кавычками вокруг двух столбцов.

В этом примере объект DateTime преобразуется в строку CSV.

Get-Date | Export-Csv  -QuoteFields "DateTime","Date" -Path .\FTDateTime.csv
Get-Content -Path .\FTDateTime.csv

DisplayHint,"DateTime","Date",Day,DayOfWeek,DayOfYear,Hour,Kind,Millisecond,Minute,Month,Second,Ticks,TimeOfDay,Year
DateTime,"Thursday, August 22, 2019 11:27:34 AM","8/22/2019 12:00:00 AM",22,Thursday,234,11,Local,569,27,8,34,637020700545699784,11:27:34.5699784,2019

Пример 11. Экспорт в CSV с кавычками только при необходимости.

В этом примере объект DateTime преобразуется в строку CSV.

Get-Date | Export-Csv  -UseQuotes AsNeeded -Path .\FTDateTime.csv
Get-Content -Path .\FTDateTime.csv

DisplayHint,DateTime,Date,Day,DayOfWeek,DayOfYear,Hour,Kind,Millisecond,Minute,Month,Second,Ticks,TimeOfDay,Year
DateTime,"Thursday, August 22, 2019 11:31:00 AM",8/22/2019 12:00:00 AM,22,Thursday,234,11,Local,713,31,8,0,637020702607132640,11:31:00.7132640,2019

Пример 12: Преобразование хеш-таблиц в CSV

В PowerShell 7.2 и более поздних версиях при экспорте хэш-таблиц в CSV ключи первой хэш-таблицы сериализуются и используются в качестве заголовков в выходных данных файла CSV.

$person1 = @{
    Name = 'John Smith'
    Number = 1
}

$person2 = @{
    Name = 'Jane Smith'
    Number = 1
}

$allPeople = $person1, $person2
$allPeople | Export-Csv -Path .\People.csv

Get-Content -Path .\People.csv

"Name","Number"
"John Smith","1"
"Jane Smith","2"

Пример 13: Преобразование хеш-таблиц в CSV с дополнительными свойствами

В PowerShell 7.2 и более поздних версиях при экспорте хеш-таблицы с дополнительными свойствами, добавленными с помощью Add-Member или Select-Object, дополнительные свойства также добавляются в виде заголовка в CSV. файл.

$allPeople | Add-Member -Name ExtraProp -Value 42 -MemberType NoteProperty
$allPeople | Export-Csv -Path .\People.csv

Get-Content -Path .\People.csv

"Name","Number","ExtraProp"
"John Smith","1","42"
"Jane Smith","2","42"

Каждая хеш-таблица имеет свойство с именем ExtraProp, добавленное с помощью Add-Member и затем экспортированное в CSV. Вы можете видеть, что ExtraProp теперь является заголовком в выходном файле CSV.

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

Параметры

-Append

Используйте этот параметр, чтобы Export-CSV добавлял выходные данные CSV в конец указанного файла. Без этого параметра Export-CSV заменяет содержимое файла без предупреждения.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

SwitchParameter

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Confirm

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

Тип :

SwitchParameter

Псевдонимы:

cf

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Delimiter

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

Тип :

Чар

Позиция:

1

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

запятая (,)

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Encoding

Указывает кодировку экспортируемого файла CSV. Значение по умолчанию — utf8NoBOM.

Допустимые значения этого параметра следующие:

  • ascii: использует кодировку набора символов ASCII (7-бит).
  • ansi: использует кодировку для кодовой страницы ANSI текущего языка и региональных параметров. Эта опция была добавлена
  • bigendianunicode: кодирует в формате UTF-16 с использованием обратного порядка байтов.
  • bigendianutf32: кодирует в формате UTF-32, используя обратный порядок байтов.
  • oem: использует кодировку по умолчанию для MS-DOS и консольных программ.
  • unicode: кодирует в формате UTF-16 с прямым порядком байтов.
  • utf7: кодирует в формате UTF-7.
  • utf8: кодирует в формате UTF-8.
  • utf8BOM: кодирует в формате UTF-8 с меткой порядка байтов (BOM).
  • utf8NoBOM: кодирует в формате UTF-8 без метки порядка байтов (BOM).
  • utf32: кодирует в формате UTF-32.

Начиная с PowerShell 6.2, параметр Encoding также позволяет использовать числовые идентификаторы зарегистрированных кодовых страниц (например, -Encoding 1251) или строковые имена зарегистрированных кодовых страниц (например, -Encoding). "windows-1251"). Дополнительные сведения см. в документации .NET для Encoding.CodePage.

Начиная с PowerShell 7.4, вы можете использовать значение Ansi для параметра Encoding, чтобы передать числовой идентификатор для текущей кодовой страницы ANSI языка и региональных параметров без необходимости указывать его вручную.

Примечание

UTF-7* больше не рекомендуется использовать. Начиная с PowerShell 7.1, предупреждение выводится, если вы укажете utf7 для параметра Кодировка.

Тип :

Кодирование

Принятые значения:

ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32

Позиция:

Именованный

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

UTF8NoBOM

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Force

Этот параметр позволяет Export-Csv перезаписывать файлы с атрибутом Только чтение.

При объединении параметров Force и Append объекты, содержащие несовпадающие свойства, можно записать в файл CSV. В файл записываются только те свойства, которые совпадают. Несовпадающие свойства отбрасываются.

Тип :

SwitchParameter

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-IncludeTypeInformation

При использовании этого параметра первая строка вывода CSV содержит #TYPE, за которым следует полное имя типа объекта. Например, #TYPE System.Diagnostics.Process.

Этот параметр был введен в PowerShell 6.0.

Тип :

SwitchParameter

Псевдонимы:

ITI

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-InputObject

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

Тип :

PSОбъект

Позиция:

Именованный

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

None

Необходимый:

True

Примите ввод конвейера:

True

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

False

-LiteralPath

Указывает путь к выходному файлу CSV. В отличие от Path, значение параметра LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, используйте одинарные кавычки. Одинарные кавычки сообщают PowerShell не интерпретировать никакие символы как escape-последовательности.

Тип :

String

Псевдонимы:

PSPath, LP

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

False

-NoClobber

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

Тип :

SwitchParameter

Псевдонимы:

NoOverwrite

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-NoHeader

При использовании этого параметра командлет не записывает в выходные данные строку заголовка, содержащую имена столбцов.

Этот параметр был добавлен в PowerShell 7.4.

Тип :

SwitchParameter

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-NoTypeInformation

Удаляет информационный заголовок #TYPE из вывода. Этот параметр стал значением по умолчанию в PowerShell 6.0 и включен для обратной совместимости.

Тип :

SwitchParameter

Псевдонимы:

NTI

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-Path

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

Тип :

String

Позиция:

0

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

False

-QuoteFields

Указывает имена столбцов, которые следует заключить в кавычки. При использовании этого параметра в кавычках заключаются только указанные столбцы. Этот параметр был добавлен в PowerShell 7.0.

Тип :

String[]

Псевдонимы:

QF

Позиция:

Именованный

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

None

Необходимый:

False

Примите ввод конвейера:

False

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

False

-UseCulture

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

Тип :

SwitchParameter

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

-UseQuotes

Указывает, когда в файлах CSV используются кавычки. Возможные значения:

  • Никогда - ничего не цитируйте
  • Всегда — цитировать все (поведение по умолчанию)
  • AsNeeded — только поля кавычек, содержащие символ разделителя, двойную кавычку или символ новой строки.

Этот параметр был добавлен в PowerShell 7.0.

Тип :

Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind

Псевдонимы:

UQ

Позиция:

Именованный

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

Всегда

Необходимый:

False

Примите ввод конвейера:

False

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

False

-WhatIf

Запрещает обработку или внесение изменений командлета. Вывод показывает, что произошло бы, если бы командлет был запущен.

Тип :

SwitchParameter

Псевдонимы:

wi

Позиция:

Именованный

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

False

Необходимый:

False

Примите ввод конвейера:

False

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

False

Входы

PSObject

В этот командлет можно передать любой объект с помощью адаптера системы расширенных типов (ETS).

Выходы

Нет

Этот командлет не возвращает никаких результатов.

Примечания

PowerShell включает следующие псевдонимы для Export-Csv:

  • Все платформы:

      epcsv

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

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

Строки CSV выводятся следующим образом:

  • Если используется IncludeTypeInformation, первая строка содержит информационный заголовок #TYPE, за которым следует полное имя типа объекта. Например, #TYPE System.Diagnostics.Process.
  • Если IncludeTypeInformation не используется, первая строка включает заголовки столбцов. Заголовки содержат имена свойств первого объекта в виде списка, разделенного символами.
  • Остальные строки содержат разделенные символами списки значений свойств каждого объекта.

Начиная с PowerShell 6.0, поведение по умолчанию Export-CSV заключается в том, чтобы не включать информацию #TYPE в CSV, и подразумевается NoTypeInformation. IncludeTypeInformation можно использовать для включения информации #TYPE и эмуляции поведения по умолчанию Export-CSV до PowerShell 6.0.

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

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

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