Share via


Out-String

입력 개체를 문자열로 출력합니다.

Syntax

Out-String
   [-Width <Int32>]
   [-NoNewline]
   [-InputObject <PSObject>]
   [<CommonParameters>]
Out-String
   [-Stream]
   [-Width <Int32>]
   [-InputObject <PSObject>]
   [<CommonParameters>]

Description

cmdlet은 Out-String 입력 개체를 문자열로 변환합니다. 기본적으로 Out-String 문자열을 누적하고 단일 문자열로 반환하지만 Stream 매개 변수를 Out-String 사용하여 한 번에 한 줄을 반환하거나 문자열 배열을 만들 수 있습니다. 이 cmdlet을 사용하면 개체 조작이 덜 편리할 때 기존 셸에서와 마찬가지로 문자열 출력을 검색하고 조작할 수 있습니다.

또한 PowerShell은 파이프라인에서 OSS 사용할 Out-String 약식 방법으로 호출 Out-String -Stream 하는 함수를 추가합니다.

예제

예제 1: 현재 문화권을 가져와서 데이터를 문자열로 변환

다음은 현재 사용자의 국가별 설정을 가져오고 개체 데이터를 문자열로 변환하는 예제입니다.

$C = Get-Culture | Select-Object -Property *
Out-String -InputObject $C -Width 100

Parent                         : en
LCID                           : 1033
KeyboardLayoutId               : 1033
Name                           : en-US
IetfLanguageTag                : en-US
DisplayName                    : English (United States)
NativeName                     : English (United States)
EnglishName                    : English (United States)
TwoLetterISOLanguageName       : en
ThreeLetterISOLanguageName     : eng
ThreeLetterWindowsLanguageName : ENU
CompareInfo                    : CompareInfo - en-US
TextInfo                       : TextInfo - en-US
IsNeutralCulture               : False
CultureTypes                   : SpecificCultures, InstalledWin32Cultures, FrameworkCultures
NumberFormat                   : System.Globalization.NumberFormatInfo
DateTimeFormat                 : System.Globalization.DateTimeFormatInfo
Calendar                       : System.Globalization.GregorianCalendar
OptionalCalendars              : {System.Globalization.GregorianCalendar,
                                 System.Globalization.GregorianCalendar}
UseUserOverride                : True
IsReadOnly                     : False

변수는 $C Selected.System.Globalization.CultureInfo 개체를 저장합니다. 개체는 파이프라인에서 Get-Culture 출력을 로 Select-Object보낸 결과입니다. Property 매개 변수는 별표(*) wild카드를 사용하여 개체에 포함된 모든 속성을 지정합니다.

Out-String 에서는 InputObject 매개 변수를 사용하여 변수에 저장된 CultureInfo 개체를 $C 지정합니다. 개체 $C 가 문자열로 변환됩니다.

참고 항목

배열을 Out-String 보려면 출력을 변수에 저장하고 배열 인덱스로 요소를 봅니다. 배열 인덱스에 대한 자세한 내용은 about_Arrays 참조하세요.

$str = Out-String -InputObject $C -Width 100

예제 2: 개체 작업

이 예제에서는 개체 작업과 문자열 작업 간의 차이점을 보여 줍니다. 이 명령은 텍스트 gcm, 별칭을 포함하는 별칭을 표시합니다 Get-Command.

Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"

Alias           gcm -> Get-Command

Get-Alias는 각 별칭에 대해 하나씩 System.Management.Automation.AliasInfo 개체를 가져오고 파이프라인 아래로 개체를 보냅니다. Out-String 에서는 Stream 매개 변수를 사용하여 모든 개체를 단일 문자열로 연결하지 않고 각 개체를 문자열로 변환합니다. System.String 개체는 파이프라인 아래로 전송되고 Select-String Pattern 매개 변수를 사용하여 텍스트 gcm에 대한 일치 항목을 찾습니다.

참고 항목

Stream 매개 변수를 생략하면 반환되는 단일 문자열에서 텍스트 gcm을 찾기 때문에 Select-String 모든 별칭이 Out-String 표시됩니다.

예제 3: Width 매개 변수를 사용하여 잘림을 방지합니다.

대부분의 출력 Out-String 은 다음 줄로 래핑되지만, 출력이 전달 Out-String되기 전에 서식 시스템에 의해 잘리는 시나리오가 있습니다. Width 매개 변수를 사용하여 잘림을 방지할 수 있습니다.

PS> @{TestKey = ('x' * 200)} | Out-String
Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

PS> @{TestKey = ('x' * 200)} | Out-String -Width 250

Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

매개 변수

-InputObject

문자열에 쓸 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

PowerShell 포맷터에서 생성된 출력에서 모든 줄 바꿈을 제거합니다. 문자열 개체의 일부인 줄 바꿈은 유지됩니다.

이 매개 변수는 PowerShell 6.0에서 도입되었습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Stream

기본적으로 Out-String 빈 헤더 또는 후행 줄 바꿈을 포함하여 콘솔에서 볼 수 있는 것처럼 형식이 지정된 단일 문자열을 출력합니다. Stream 매개 변수를 Out-String 사용하면 각 줄을 하나씩 출력할 수 있습니다. 이에 대한 유일한 예외는 여러 줄 문자열입니다. 이 경우 Out-String 문자열을 단일 다중 줄 문자열로 출력합니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Width

각 출력 줄의 문자 수를 지정합니다. 추가 문자는 다음 줄로 래핑되거나 사용된 포맷터 cmdlet에 따라 잘립니다. Width 매개 변수는 서식이 지정된 개체에만 적용됩니다. 이 매개 변수를 생략하면 너비는 호스트 프로그램의 특성에 따라 결정됩니다. 터미널(콘솔) 창에서 현재 창 너비가 기본값으로 사용됩니다. PowerShell 콘솔 창은 설치 시 기본적으로 너비가 80자입니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSObject

모든 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

String

이 cmdlet은 입력 개체에서 만든 문자열을 반환합니다.

참고

동사가 포함된 cmdlet은 개체의 Out 서식을 지정하지 않습니다. cmdlet은 Out 지정된 표시 대상의 포맷터에 개체를 보냅니다.

PowerShell 7.2는 ANSI 이스케이프 시퀀스가 렌더링되는 방법을 제어하는 기능을 추가했습니다. 전달 Out-String 되는 ANSI 데코레이팅 출력은 속성의 $PSStyle.OutputRendering 설정에 따라 변경할 수 있습니다. 자세한 내용은 about_ANSI_Terminals 참조하세요.