Поделиться через


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

Входные данные

PSObject

Объекты можно передать в Out-String.

Выходные данные

String

Out-String возвращает строку, созданную из входного объекта.

Примечания

  • Командлеты, содержащие команду Out , которая не форматирует объекты; они просто отрисовывают их и отправляют в указанное место назначения отображения. Если передать в командлет Out неформатированный объект, перед обработкой он будет отправлен в форматирующий командлет.
  • Командлеты Out не имеют параметров, которые принимают имена или пути к файлам. Для отправки данных в командлет Out используется конвейерный оператор (|), передающий в командлет выходные данные команды Windows PowerShell. Также можно сохранить данные в переменную передать их в командлет с помощью параметра InputObject.