Out-String (Microsoft.PowerShell.Utility)


Out-String

Modül:
Microsoft.PowerShell.Utility

Giriş nesnelerini bir dize olarak çıkarır.

Sözdizimi

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

Tanım

Out-String cmdlet'i giriş nesnelerini dizelere dönüştürür. Varsayılan olarak, Out-String dizeleri toplar ve bunları tek bir dize olarak döndürür, ancak Out-String'i yönlendirmek için Stream parametresini kullanabilirsiniz. her seferinde bir satır döndürmek veya bir dize dizisi oluşturmak için. Bu cmdlet, nesne manipülasyonunun daha az kullanışlı olduğu geleneksel kabuklarda yaptığınız gibi dize çıktısını aramanıza ve değiştirmenize olanak sağlar.

PowerShell ayrıca, Out-String'i bir ardışık düzende kullanmanın kısa yolu olarak Out-String -Stream'i çağıran OSS işlevini de ekler.

Örnekler

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

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 saklar. Nesne, Get-Culture'un çıktıyı ardışık düzenden Select-Object'e göndermesinin sonucudur. Özellik parametresi, nesnede bulunan tüm özellikleri belirtmek için yıldız işareti (*) joker karakterini kullanır.

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

Not

Out-String dizisini görüntülemek için çıktıyı bir değişkene kaydedin 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ışmakla dizelerle çalışmak arasındaki farkı gösterir. Komut, gcm metnini içeren bir takma ad görüntüler; bu, Get-Command takma adıdır.

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

Alias           gcm -> Get-Command

Get-Alias, her takma ad için bir tane olmak üzere System.Management.Automation.AliasInfo nesnelerini alır ve nesneleri ardışık düzene 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 ardışık düzen üzerinden gönderilir ve Select-String, gcm< metniyle eşleşmeler bulmak için Pattern parametresini kullanır. /strong>.

Not

Stream parametresini atlarsanız, komut tüm takma adları görüntüler çünkü Select-String, ile belirtilen tek dizede gcm metnini bulur. Out-String geri döner.

Örnek 3: Kesilmeyi önlemek için Genişlik parametresini kullanın.

Out-String çıktısının çoğu bir sonraki satıra kaydırılırken, çıktının Out-String'e aktarılmadan önce biçimlendirme sistemi tarafından kesildiği senaryolar da vardır. Genişlik parametresini kullanarak kesmeyi ö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.

Tip :

PSObject

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-NoNewline

PowerShell biçimlendirici tarafından oluşturulan çıktıdan tüm yeni satırları kaldırır. Dize nesnelerinin parçası olan yeni satırlar korunur.

Bu parametre PowerShell 6,0'da tanıtıldı.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Stream

Varsayılan olarak, Out-String, boş başlıklar veya sondaki yeni satırlar da dahil olmak üzere, konsolda göreceğiniz şekilde biçimlendirilmiş tek bir dize çıktısı verir. Stream parametresi, Out-String'in her satırı tek tek çıkarmasını sağlar. Bunun tek istisnası çok satırlı dizelerdir. Bu durumda, Out-String yine de dizeyi tek, çok satırlı bir dize olarak çıkaracaktır.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Width

Her çıktı satırındaki karakter sayısını belirtir. Kullanılan biçimlendirici cmdlet'ine bağlı olarak tüm ek karakterler bir sonraki satıra kaydırılır veya kesilir. Genişlik parametresi yalnızca biçimlendirilen nesnelere uygulanır. Bu parametreyi atlarsanız genişlik, ana programın özelliklerine göre belirlenir. Terminal (konsol) pencerelerinde geçerli pencere genişliği varsayılan değer olarak kullanılır. PowerShell konsolu pencereleri kurulum sırasında varsayılan olarak 80 karakterlik bir genişliğe sahiptir.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

PSObject

Bu cmdlet'e herhangi bir nesneyi aktarabilirsiniz.

Çıkışlar

Dize

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

Notlar

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

PowerShell 7.2, ANSI kaçış dizilerinin nasıl oluşturulduğunu kontrol etme yeteneğini ekledi. Out-String'e aktarılan ANSI ile dekore edilmiş çıktı, $PSStyle.OutputRendering özelliğinin ayarına göre değiştirilebilir. Daha fazla bilgi için bkz. about_ANSI_Terminaller.

İlgili makaleler