Export-Csv
Преобразует объекты в ряд строк, разделенных символами (CSV), и сохраняет строки в файл.
Синтаксис
Delimiter (по умолчанию)
Export-Csv
[[-Path] <String>]
[[-Delimiter] <Char>]
-InputObject <PSObject>
[-LiteralPath <String>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-Append]
[-IncludeTypeInformation]
[-NoTypeInformation]
[-QuoteFields <String[]>]
[-UseQuotes <QuoteKind>]
[-NoHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
UseCulture
Export-Csv
[[-Path] <String>]
-InputObject <PSObject>
[-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
использует параметр Path для отображения файла, расположенного в текущем каталоге.
Пример 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
файл сохраняется в текущем каталоге. Параметр разделителя указывает точку с запятой для разделения строковых значений. Параметр NoTypeInformation удаляет заголовок сведений #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content
использует параметр Path для отображения файла, расположенного в текущем каталоге.
Пример 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
использует параметр Path для отображения файла, расположенного в текущем каталоге.
Пример 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 возвращает службы, содержащие слово Application. Объекты службы отправляются в конвейер в командлет Select-Object
.
Select-Object
использует параметр Property для указания свойств DisplayName и Status . Переменная $AppService
хранит объекты.
Объекты $AppService
отправляются по конвейеру командлету Export-Csv
.
Export-Csv
преобразует объекты службы в ряд строк CSV. Параметр Path указывает, что Services.csv
файл сохраняется в текущем каталоге. Параметр NoTypeInformation удаляет заголовок сведений #TYPE из выходных данных CSV и не требуется в PowerShell 6. Командлет Get-Content
использует параметр Path для отображения файла, расположенного в текущем каталоге.
Командлеты Get-Service
and Select-Object
повторяются для служб, содержащих слово Windows. В $WinService
переменной хранятся объекты сервиса. Командлет Export-Csv
использует параметр Add , чтобы указать, что $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
использует параметр Path для отображения 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
cmdlet 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 = 2
}
$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 |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | cf |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Delimiter
Указывает разделитель для разделения значений свойств. По умолчанию используется запятая (,
). Введите символ, например двоеточие (:
). Чтобы указать точку с запятой (;
), заключите ее в кавычки.
Свойства параметра
Тип: | Char |
Default value: | comma (,) |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Delimiter
Position: | 1 |
Обязательно: | False |
Значение из конвейера: | 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 с пометкой порядка байтов (Byte Order Mark, BOM) -
utf8NoBOM
: Кодирует в формате UTF-8 без метки порядка байтов (BOM) -
utf32
: кодирует в формате UTF-32.
Начиная с PowerShell 6.2, параметр кодировки
Начиная с PowerShell 7.4, можно использовать значение Ansi
для параметра кодировки, чтобы передать числовой идентификатор ANSI-страницы текущей культуры, не указывая его вручную.
Замечание
UTF-7* больше не рекомендуется использовать. Начиная с версии PowerShell 7.1, выводится предупреждение, если задать utf7
как параметр кодировки.
Свойства параметра
Тип: | Encoding |
Default value: | UTF8NoBOM |
Допустимые значения: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Force
Этот параметр позволяет Export-Csv
перезаписывать файлы с атрибутом Read Only .
При объединении параметров «Принудительно » и «Добавить » объекты, содержащие несовпадающие свойства, могут быть записаны в файл CSV. В файл записываются только те свойства, которые совпадают. Несовпадающие свойства отбрасываются.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-IncludeTypeInformation
При использовании этого параметра первая строка выходных данных CSV содержит #TYPE
полное имя типа объекта. Например: #TYPE System.Diagnostics.Process
.
Этот параметр появился в PowerShell 6.0.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | ITI |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-InputObject
Указывает объекты для экспорта в виде строк CSV. Введите переменную, содержащую объекты или введите команду или выражение, которое получает объекты. Также можно передать объекты в Export-Csv
.
Свойства параметра
Тип: | PSObject |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к выходному файлу CSV. В отличие от пути , значение параметра LiteralPath используется в точности так, как введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, используйте одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PSPath, LP |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-NoClobber
Используйте этот параметр, Export-Csv
чтобы не перезаписать существующий файл. По умолчанию, если файл существует по указанному пути, Export-Csv
файл перезаписывается без предупреждения.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | NoOverwrite |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-NoHeader
При использовании этого параметра командлет не записывает строку заголовка, содержащую имена столбцов в выходные данные.
Этот параметр добавлен в PowerShell 7.4.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-NoTypeInformation
Удаляет заголовок сведений #TYPE
из выходных данных. Этот параметр стал значением по умолчанию в PowerShell 6.0 и включен для обратной совместимости.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | NTI |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Path
Обязательный параметр, указывающий место для сохранения выходного файла CSV.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | 0 |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-QuoteFields
Указывает имена столбцов, которые должны быть кавычек. Если этот параметр используется, кавычекируются только указанные столбцы. Этот параметр был добавлен в PowerShell 7.0.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | QF |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-UseCulture
Использует разделитель списка для текущей культуры в качестве делимитера элементов. Чтобы найти разделитель списка для культуры, используйте следующую команду: (Get-Culture).TextInfo.ListSeparator
.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
UseCulture
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-UseQuotes
Указывает, когда кавычки используются в CSV-файлах. Возможны следующие значения:
- Никогда - не цитировать ничего
- Всегда — процитировать все (поведение по умолчанию)
- AsNeeded — только поля с разделителями, двойные кавычки или новый символ
Этот параметр был добавлен в PowerShell 7.0.
Свойства параметра
Тип: | Microsoft.PowerShell.Commands.BaseCsvWritingCommand+QuoteKind |
Default value: | Always |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | UQ |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-WhatIf
Предотвращает обработку командлета или внесение изменений. Выходные данные показывают, что произойдет при выполнении командлета.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | wi |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
PSObject
Вы можете передать любой объект с адаптером расширенной системы типов (ETS) в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
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
файл упорядочивается на основе свойств первого отправляемого объекта. Если остальные объекты не имеют ни одного из указанных свойств, значение свойства этого объекта равно null и представлено двумя последовательными запятыми. Если остальные объекты имеют дополнительные свойства, эти значения свойств не включаются в файл.
С помощью Import-Csv
командлета можно воссоздать объекты из строк CSV в файлах. Результирующие объекты являются CSV-версиями исходных объектов, которые состоят из строковых представлений значений свойств и не содержат методов.
Командлеты ConvertTo-Csv
and ConvertFrom-Csv
преобразуют объекты в строки CSV и из строк CSV.
Export-Csv
то же самое, что ConvertTo-Csv
и , за исключением того, что строки CSV сохраняются в файле.