Add-Content
Добавляет содержимое в указанные элементы, например добавление слов в файл.
Синтаксис
Path (По умолчанию)
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>]
LiteralPath
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'
Параметр пути указывает все файлы .txt в текущем каталоге, но параметр исключения игнорирует имена файлов, соответствующие указанному шаблону.
Параметр Value указывает текстовую строку, которая записывается в файлы.
Используйте Get-Content для отображения содержимого этих файлов.
Пример 2. Добавление даты в конец указанных файлов
В этом примере добавляется дата к файлам в текущем каталоге и отображается дата в консоли PowerShell.
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM
Командлет Add-Content создает два новых файла в текущем каталоге. Параметр значения содержит выходные данные командлета Get-Date. Параметр PassThru выводит добавленное содержимое в конвейер. Так как для получения выходных данных нет другого командлета, он отображается в консоли PowerShell. Командлет Get-Content отображает обновленный файл DateTimeFile1.log.
Пример 3. Добавление содержимого указанного файла в другой файл
Этот пример получает содержимое из файла и сохраняет содержимое в переменной. Переменная используется для добавления содержимого в другой файл.
$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обновляет файлCopyToFile.txtс помощью содержимого переменной$From. - Командлет
Get-Contentотображает CopyToFile.txt.
Пример 4. Добавление содержимого указанного файла в другой файл с помощью конвейера
Этот пример получает содержимое из файла и передает его в командлет Add-Content.
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
Командлет Get-Content получает содержимое CopyFromFile.txt. Результаты передаются в командлет Add-Content, который обновляет CopyToFile.txt.
Последний командлет Get-Content отображает CopyToFile.txt.
Пример 5. Создание файла и копирование содержимого
В этом примере создается новый файл и копируется содержимое существующего файла в новый файл.
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
- Командлет
Add-Contentиспользует параметр пути и параметр значение для создания нового файла в текущем каталоге. - Командлет
Get-Contentполучает содержимое существующего файла,CopyFromFile.txtи передает его параметру Value. Скобки вокруг командлетаGet-Contentобеспечивают, что команда завершится до начала командыAdd-Content. - Командлет
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использует параметры пути и типа элемента для создания файлаIsReadOnlyTextFile.txtв текущем каталоге. - Командлет
Set-ItemPropertyиспользует параметры Name и Value для изменения свойства IsReadOnly на True. - Командлет
Get-ChildItemпоказывает, что файл пуст (0) и имеет атрибут только для чтения (r). - Командлет
Add-Contentиспользует параметр Path для указания файла. Параметр значение включает текстовую строку для добавления в файл. Параметр Force записывает текст в файл только для чтения. - Командлет
Get-Contentиспользует параметр пути для отображения содержимого файла.
Чтобы удалить атрибут только для чтения, используйте команду Set-ItemProperty с параметром Value, равным False.
Параметры
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Credential
Замечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Свойства параметров
| Тип: | PSCredential |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Encoding
Указывает тип кодирования для целевого файла. Значение по умолчанию — Default.
Допустимые значения для этого параметра приведены следующим образом:
-
AsciiИспользует набор символов ASCII (7-разрядный). -
BigEndianUnicodeиспользует UTF-16 с порядком байтов "старший байт первым". -
BigEndianUTF32использует UTF-32 с порядком старшего байта впереди. -
Byteкодирует набор символов в последовательность байтов. -
DefaultИспользует кодировку, соответствующую активной кодовой странице системы (обычно ANSI). -
OemИспользует кодировку, соответствующую текущей кодовой странице OEM системы. -
StringТо же, что и Юникод. -
Unicodeиспользует UTF-16 с младшим порядком байтов. -
UnknownТо же, что и Юникод. -
UTF7использует UTF-7. -
UTF8Использует UTF-8. -
UTF32использует UTF-32 с маленьким порядком байтов.
Кодировка — это динамический параметр, который поставщик FileSystem добавляет в командлет Add-Content. Этот параметр работает только на дисках файловой системы.
Свойства параметров
| Тип: | FileSystemCmdletProviderEncoding |
| Default value: | Default |
| Допустимые значения: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Exclude
Указывает как строковый массив, элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt. Разрешено использование подстановочных символов. Параметр Исключить действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое каталога C:\Windows.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Filter
Указывает фильтр для квалификации параметра Path. Поставщик файловой системы является единственным установленным поставщиком PowerShell, который поддерживает использование фильтров. Синтаксис языка фильтрации файловой системы вы можете найти в about_Wildcards. Фильтры более эффективны, чем другие параметры, поскольку поставщик применяет их, когда командлет получает объекты, а не когда PowerShell фильтрует объекты после их получения.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Force
Переопределяет атрибут только для чтения, позволяя добавлять содержимое в файл только для чтения. Например, Force переопределяет атрибут только для чтения, но не изменяет разрешения файлов.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Include
Указывает, как строковый массив, элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например "*.txt". Разрешено использование подстановочных символов. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое каталога C:\Windows.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Дополнительную информацию см. в разделе about_Quoting_Rules.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath |
Наборы параметров
LiteralPath
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-NoNewline
Указывает, что этот командлет не добавляет новую строку или возврат каретки в содержимое.
Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. Новая строка не добавляется после последней выходной строки.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект, представляющий добавленное содержимое. По умолчанию этот командлет не создает выходные данные.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь к элементам, получающим дополнительное содержимое. Разрешено использование подстановочных символов. Пути должны вести к объектам, а не к контейнерам. Например, необходимо указать путь к одному или нескольким файлам, а не к каталогу. Если указать несколько путей, используйте запятые для разделения путей.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
Path
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Stream
Задает альтернативный поток данных для содержимого. Если поток не существует, этот командлет создает его. Подстановочные знаки не поддерживаются.
Stream — это динамический параметр, который поставщик FileSystem добавляет в Add-Content. Этот параметр работает только на дисках файловой системы.
Командлет Add-Content можно использовать для изменения содержимого любого альтернативного потока данных, например Zone.Identifier. Однако мы не рекомендуем это сделать так, чтобы исключить проверку безопасности, которая блокирует файлы, скачанные из Интернета. Если убедиться, что скачанный файл является безопасным, используйте командлет Unblock-File.
Этот параметр появился в PowerShell 3.0.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр действителен только в том случае, если выполняется транзакция. Дополнительные сведения см. в about_Transactions.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | usetx |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Value
Указывает добавляемое содержимое. Введите в кавычки строку, например Эти данные используются только для внутреннего использования, или укажите объект, содержащий содержимое, например объект DateTime, который Get-Date генерирует.
Невозможно указать содержимое файла, введя его путь, так как путь — это только строка.
Чтобы получить содержимое и передать его в параметр Get-Content, можно использовать команду .
Свойства параметров
| Тип: | Object[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | 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.
Входные данные
Object
Значения можно передать в Add-Content.
PSCredential
Вы можете направить учетные данные в Add-Content.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
String
При использовании параметра PassThru этот командлет возвращает объект System.String, представляющий содержимое.
Примечания
Windows PowerShell включает следующие псевдонимы для Add-Content:
acПри отправке объекта в
Add-Contentобъект преобразуется в строку перед добавлением в элемент. Тип объекта определяет строковый формат, но формат может отличаться от отображения объекта по умолчанию. Чтобы управлять форматом строки, используйте параметры форматирования командлета отправки.Командлет
Add-Contentпредназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введитеGet-PSProvider. Дополнительные сведения см. в разделе о поставщиках.