Out-String
Отправляет объекты основному приложению в виде последовательности строк.
Синтаксис
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Описание
Командлет Out-String
преобразует объекты, которыми Windows PowerShell управляет, в массив строк.
По умолчанию Out-String
накапливает строки и возвращает их в виде одной строки, но можно использовать параметр Stream для прямого Out-String
возврата одной строки за раз.
Этот командлет позволяет управлять строковым выводом и выполнять в нем поиск, как при работе с традиционными оболочками, если использовать объектов неудобно.
Примеры
Пример 1. Вывод текста в консоль в виде строки
PS C:\> Get-Content C:\test1\testfile2.txt | Out-String
Эта команда отправляет содержимое файла Testfile2.txt на консоль в виде одной строки.
Для получения содержимого файла используется Get-Content
командлет .
Оператор конвейера (|) отправляет содержимое в Out-String
, который отправляет содержимое в консоль в виде строки.
Пример 2. Получение текущего языка и региональных параметров и преобразование данных в строки
Первая команда использует Get-Culture
командлет для получения региональных параметров.
Оператор конвейера (|) отправляет результат Select-Object
в командлет , который выбирает все свойства (*) возвращаемого объекта Get-Culture
языка и региональных параметров.
Затем команда сохраняет результаты в переменной $C
.
Вторая команда использует Out-String
командлет для преобразования объекта CultureInfo в ряд строк (по одной строке для каждого свойства).
Он использует параметр InputObject для передачи переменной $C
в Out-String
.
Параметр Width имеет значение 100 символов на строку, что предотвращает обрезку строк.
PS C:\> $C = Get-Culture | Select-Object *
PS C:\> Out-String -InputObject $C -Width 100
Эти команды получают региональные параметры, заданные для текущего пользователя, и преобразуют полученные данные в строки.
Пример 3. Работа с объектами
PS C:\> Get-Alias | Out-String -Stream | Select-String "Get-Command"
В этом примере показано различие между работой с объектами и работой со строками.
Команда отображает псевдонимы, включающие фразу "Get-Command".
Он использует Get-Alias
командлет для получения набора объектов AliasInfo (по одному для каждого псевдонима в текущем сеансе).
Оператор конвейера (|) отправляет выходные данные командлета Get-Alias
командлету Out-String
, который преобразует объекты в последовательность строк.
Он использует параметр Stream для отправки Out-String
каждой строки по отдельности, а не объединения их в одну строку.
Другой оператор конвейера отправляет строки командлету Select-String
, который выбирает строки, которые содержат get-Command в любом месте строки.
Если опустить параметр Stream, команда отображает все псевдонимы, так как Select-String
находит Get-Command в возвращаемой Out-String
строке, а модуль форматирования отображает строку в виде таблицы.
Параметры
-InputObject
Указывает объекты для записи в строку. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Stream
Указывает, что командлет отправляет строки для каждого объекта отдельно. По умолчанию строки для каждого объекта накапливаются и отправляются в виде одной строки.
Чтобы использовать параметр Stream, введите -Stream
или его псевдоним , ost
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Width
Указывает количество символов в каждой строке выходных данных. Все остальные знаки отсекаются, а не переносятся на следующую строку. Параметр Width применяется только к отформатированным объектам. Если данный параметр не указан, ширина определяется характеристиками основного приложения. Значение по умолчанию для основного приложения PowerShell.exe равно 80 (символам).
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Объекты можно передать в Out-String
.
Выходные данные
Out-String
возвращает строку, созданную из входного объекта.
Примечания
- Командлеты, содержащие команду Out , которая не форматирует объекты; они просто отрисовывают их и отправляют в указанное место назначения отображения. Если передать в командлет Out неформатированный объект, перед обработкой он будет отправлен в форматирующий командлет.
- Командлеты Out не имеют параметров, которые принимают имена или пути к файлам. Для отправки данных в командлет Out используется конвейерный оператор (|), передающий в командлет выходные данные команды Windows PowerShell. Также можно сохранить данные в переменную передать их в командлет с помощью параметра InputObject.