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-CommandGet-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
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxParametreler
-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.