Share via


Out-String

Giriş nesnelerini dize olarak verir.

Syntax

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

Description

cmdlet'i Out-String giriş nesnelerini dizelere dönüştürür. Varsayılan olarak, Out-String dizeleri biriktirir ve tek bir dize olarak döndürür, ancak stream parametresini kullanarak bir kerede bir satır döndürmek veya dize dizisi oluşturmak için doğrudan Out-String kullanabilirsiniz. Bu cmdlet, nesne işleme daha az kullanışlı olduğunda geleneksel kabuklarda yaptığınız gibi dize çıkışını aramanızı ve işlemenizi sağlar.

PowerShell, işlem hattında OSS kullanmak Out-String için kısa yol olarak çağıran Out-String -Stream işlevi de ekler.

Örnekler

Örnek 1: Geçerli kültürü alma ve verileri dizelere dönüştürme

Bu örnek geçerli kullanıcının bölgesel ayarlarını alır ve nesne verilerini dizelere dönüştürür.

$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 değişkeni bir Selected.System.Globalization.CultureInfo nesnesini depolar. nesnesi, işlem hattının çıkışını adresine Select-Objectgöndermenin Get-Culture sonucudur. Property parametresi, nesnede tüm özelliklerin yer alacağını belirtmek için bir yıldız işareti (*) joker karakteri kullanır.

Out-Stringdeğişkeninde depolanan CultureInfo nesnesini belirtmek için InputObject parametresini $C kullanır. içindeki $C nesneler bir dizeye dönüştürülür.

Not

Diziyi Out-String görüntülemek için çıkışı bir değişkene depolayın ve öğeleri görüntülemek için bir dizi dizini kullanın. Dizi dizini hakkında daha fazla bilgi için bkz . about_Arrays.

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

Örnek 2: Nesnelerle çalışma

Bu örnek, nesnelerle çalışma ile dizelerle çalışma arasındaki farkı gösterir. komutu, gcm metnini içeren bir diğer ad Get-Commandgörüntüler.

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

Alias           gcm -> Get-Command

Get-Aliasher diğer ad için bir tane olan System.Management.Automation.AliasInfo nesnelerini alır ve nesneleri işlem hattına gönderir. Out-String, tüm nesneleri tek bir dizede birleştirmek yerine her nesneyi bir dizeye dönüştürmek için Stream parametresini kullanır. System.String nesneleri işlem hattına gönderilir ve Select-String pattern parametresinikullanarak metin gcm eşleşmelerini bulur.

Not

Stream parametresini atlarsanız, döndüren tek dizede Out-String metin gcm'sini bulduğu için Select-String komut tüm diğer adları görüntüler.

Örnek 3: Kesilmesini önlemek için Width parametresini kullanın.

çıkışlarının Out-String çoğu bir sonraki satıra kaydırılırken, çıkışın 'a Out-Stringgeçirilmeden önce biçimlendirme sistemi tarafından kesildiği senaryolar vardır. Width parametresini kullanarak kesilmesini önleyebilirsiniz.

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

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

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

Parametreler

-InputObject

Bir dizeye yazılacak nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.

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

-NoNewline

PowerShell biçimlendiricisi tarafından oluşturulan çıkıştan tüm yeni çizgileri kaldırır. Dize nesnelerinin parçası olan yeni satırlar korunur.

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

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

-Stream

Varsayılan olarak, Out-String boş üst bilgiler veya sondaki yeni satırlar dahil olmak üzere konsolda gördüğünüz gibi biçimlendirilmiş tek bir dize çıkışı verir. Stream parametresi, her satırın birer birer çıkışını sağlarOut-String. Bunun tek istisnası çok satırlı dizelerdir. Bu durumda, Out-String yine de dizenin çıkışını tek, çok satırlı bir dize olarak verir.

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

-Width

Çıktının her satırındaki karakter sayısını belirtir. Diğer tüm karakterler, kullanılan biçimlendirici cmdlet'ine bağlı olarak bir sonraki satıra kaydırılır veya kesilir. Width parametresi yalnızca biçimlendirilmiş nesnelere uygulanır. Bu parametreyi atlarsanız, genişlik konak programının özelliklerine göre belirlenir. Terminal (konsol) pencerelerinde, varsayılan değer olarak geçerli pencere genişliği kullanılır. PowerShell konsol pencereleri, yüklemede varsayılan olarak 80 karakter genişliğindedir.

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

Girişler

PSObject

Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

String

Bu cmdlet, giriş nesnesinden oluşturduğu dizeyi döndürür.

Notlar

Fiili içeren Out cmdlet'ler nesneleri biçimlendirmez. Cmdlet'ler Out nesneleri belirtilen görüntüleme hedefi için biçimlendiriciye gönderir.

PowerShell 7.2, ANSI kaçış dizilerinin nasıl işleneceğini denetleme özelliği ekledi. 'a Out-String geçirilen ANSI ile dekore edilmiş çıkış, özelliğin $PSStyle.OutputRendering ayarına göre değiştirilebilir. Daha fazla bilgi için bkz . about_ANSI_Terminals.