Add-Content
Добавляет содержимое в указанные элементы, например слова в файл.
Синтаксис
Add-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
Описание
Командлет Add-Content
добавляет содержимое к указанному элементу или файлу. Содержимое можно задать прямо в команде либо путем указания объекта, в котором оно хранится.
Если вам нужно создать файлы или каталоги для следующих примеров, см. раздел New-Item.
Примеры
Пример 1. Добавление строки во все текстовые файлы с исключением
В этом примере значение добавляется к текстовым файлам в текущем каталоге, но файлы исключаются на основе их имени.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Командлет Add-Content
использует параметр Path для указания всех файлов .txt в текущем каталоге. Параметр Exclude игнорирует имена файлов, которые соответствуют указанному шаблону. Параметр Value указывает текстовую строку, записанную в файлы.
Используйте Get-Content для отображения содержимого этих файлов.
Пример 2. Добавление даты в конец указанных файлов
В этом примере дата добавляется к файлам в текущем каталоге и отображается в консоли PowerShell.
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Командлет Add-Content
использует параметры Path и Value для создания двух новых файлов в текущем каталоге. Параметр Value указывает Get-Date
командлет для получения даты и передает ее в Add-Content
. Командлет Add-Content
записывает дату в каждый файл. Параметр PassThru передает объект , представляющий объект date. Так как другой командлет для получения переданного объекта отсутствует, он отображается в консоли PowerShell. Командлет Get-Content
отображает обновленный файл DateTimeFile1.log.
Пример 3. Добавление содержимого указанного файла в другой файл
Этот пример получает содержимое из файла и добавляет его в другой файл.
Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt
Командлет Add-Content
использует параметр Path для указания нового файла в текущем каталоге, CopyToFile.txt. Параметр Value использует Get-Content
командлет для получения содержимого файла CopyFromFile.txt. Круглые скобки вокруг командлета Get-Content
гарантируют, что команда завершится до Add-Content
начала команды. Параметр Value передается в Add-Content
. Командлет Add-Content
добавляет данные в файл CopyToFile.txt. Командлет Get-Content
отображает обновленный файл CopyToFile.txt.
Пример 4. Добавление содержимого указанного файла в другой файл с помощью переменной
Этот пример получает содержимое из файла и сохраняет его в переменной. Переменная используется для добавления содержимого в другой файл.
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
Командлет Get-Content
получает содержимое CopyFromFile.txt и сохраняет его в переменной $From
. Командлет Add-Content
использует параметр Path для указания файла CopyToFile.txt в текущем каталоге. Параметр Value использует переменную $From
и передает содержимое в Add-Content
. Командлет Add-Content
обновляет файл CopyToFile.txt. Командлет Get-Content
отображает CopyToFile.txt.
Пример 5. Create нового файла и копирование содержимого
В этом примере создается новый файл и копируется содержимое существующего файла в новый файл.
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
Командлет Add-Content
использует параметры Path и Value для создания нового файла в текущем каталоге. Параметр Value использует Get-Content
командлет для получения содержимого существующего файла, CopyFromFile.txt. Круглые скобки вокруг командлета Get-Content
гарантируют, что команда завершится до Add-Content
начала команды. Параметр Value передает содержимое, в Add-Content
которое обновляется файл NewFile.txt. Командлет Get-Content
отображает содержимое нового файла, NewFile.txt.
Пример 6. Добавление содержимого в файл, доступный только для чтения
Эта команда добавляет значение в файл, даже если атрибут файла IsReadOnly имеет значение True. В примере приведены шаги по созданию файла, доступного только для чтения.
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
Командлет New-Item
использует параметры Path и ItemType для создания файла IsReadOnlyTextFile.txt в текущем каталоге. Командлет Set-ItemProperty
использует параметры Name и Value для изменения свойства IsReadOnly файла на True. Командлет Get-ChildItem
показывает, что файл пуст (0) и имеет атрибут только для чтения (r
). Командлет Add-Content
использует параметр Path для указания файла. Параметр Value включает текстовую строку для добавления в файл. Параметр Force записывает текст в файл, доступный только для чтения. Командлет Get-Content
использует параметр Path для отображения содержимого файла.
Чтобы удалить атрибут только для чтения, используйте Set-ItemProperty
команду с параметром Value , равным False
.
Параметры
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например созданный командлетом Get-Credential
. При вводе имени пользователя запрашивается пароль.
Предупреждение
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Указывает тип кодировки для целевого файла. Значение по умолчанию ― Default.
Ниже приведены допустимые значения для этого параметра.
- ASCII Использует 7-разрядную кодировку ASCII.
- BigEndianUnicode Использует UTF-16 с порядком байтов большого байта.
- BigEndianUTF32 Использует UTF-32 с порядком байтов большого байта.
- Байт Кодирует набор символов в последовательность байтов.
- По умолчанию Использует кодировку, соответствующую активной кодовой странице системы (обычно ANSI).
- OEM Использует кодировку, соответствующую текущей кодовой странице oem системы.
- Строка То же, что и Юникод.
- Юникода Использует UTF-16 с порядком байтов с маленьким байтом.
- Неизвестный То же, что и Юникод.
- UTF7 Использует UTF-7.
- UTF8 Использует UTF-8.
- UTF32 Использует UTF-32 с порядком байтов с маленьким байтом.
Encoding — это динамический параметр, добавляемый поставщиком FileSystem в Add-Content
командлет . Этот параметр работает только на дисках с файловой системой.
Type: | FileSystemCmdletProviderEncoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Исключает указанные элементы. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Разрешено использовать подстановочные знаки.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Задает фильтр в формате или на языке поставщика. Значение этого параметра определяет параметр Path. Синтаксис фильтра, включая использование подстановочных знаков, зависит от поставщика. Фильтры более эффективны, чем другие параметры, так как поставщик применяет фильтры при извлечении объектов. В противном случае PowerShell обрабатывает фильтры после извлечения объектов.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Переопределяет атрибут «только для чтения», позволяя добавлять содержимое в файл, доступный только для чтения. Например, параметр Force позволяет переопределить атрибут «только для чтения» или создать дополнительные каталоги в пути, не меняя разрешения на доступ к файлу.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Добавляет только указанные элементы. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Разрешено использовать подстановочные знаки.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Указывает путь к элементам, которые получают дополнительное содержимое. В отличие от параметра Path, значение параметра LiteralPath используется строго в том виде, в котором оно указано. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Указывает, что этот командлет не добавляет в содержимое новую строку или каретки.
Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. После последней выходной строки новая строка не добавляется.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Возвращает объект, представляющий добавленное содержимое. По умолчанию этот командлет не создает выходные данные.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к элементам, которые получают дополнительное содержимое. Разрешено использовать подстановочные знаки. Если нужно указать несколько путей, разделите их запятыми.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
Задает альтернативный поток данных для содержимого. Если поток не существует, этот командлет создает его. Подстановочные знаки не поддерживаются.
Stream — это динамический параметр, добавляемый поставщиком FileSystem в Add-Content
. Этот параметр работает только на дисках с файловой системой.
Командлет можно использовать для Add-Content
изменения содержимого альтернативного потока данных Zone.Identifier . Тем не менее мы не рекомендуем использовать этот способ для устранения проверок безопасности, которые блокируют файлы, скачанные из Интернета. Если вы убедитесь, что скачанный файл безопасен, используйте Unblock-File
командлет .
Этот параметр появился в PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр доступен только при выполнении транзакции. Дополнительные сведения см. в разделе about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Задает добавляемое содержимое. Введите строку в кавычках, например Данные используются только для внутреннего использования, или укажите объект, содержащий содержимое, например создаваемый объект Get-Date
DateTime.
Невозможно указать содержимое файла, введя путь к нему, так как путь является просто строкой.
Вы можете использовать команду , Get-Content
чтобы получить содержимое и передать его в параметр Value .
Type: | Object[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
System.Object, System.Management.Automation.PSCredential
Значения, пути или учетные данные можно передать в Set-Content
.
Выходные данные
None or System.String
При использовании параметра PassThru создает объект System.String, Add-Content
представляющий содержимое. В противном случае командлет не формирует никаких выходных данных.
Примечания
При конвейере объекта в Add-Content
объект преобразуется в строку перед добавлением в элемент. Формат строки определяется типом объекта, но может отличаться от используемого по умолчанию формата отображения объекта. Для управления форматом строки используйте параметры форматирования отправляющего командлета.
Вы также можете ссылаться на его Add-Content
встроенный псевдоним , ac
. Подробнее см. в статье about_Aliases.
Командлет Add-Content
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PSProvider
. Дополнительные сведения см. в разделе about_Providers.