marabunta
Goto Top

Powershell Textausgabe Mindestlänge

Hallo,

ich will meine Ausgabe in der Konsole leserlicher gestalten...

Write-Host " $Datei - PV: $ZielProduktversion FV: $ZielFileversion"  

Ausgabe:
asfasdfasdfaegea- PV: 3.0.0.0 FV: 3.0.0.0
geg- PV: 14.30.0.6 FV: 14.30.0.6
herahrhrgafefgagagwgawgewgawgwegwe- PV: 3.0.0.0 FV: 3.0.0.0
agergae- PV: 3.0.0.0 FV: 3.0.0.0

Wie mach lege ich die mindestbreite fest?
Das geht in die richtige Richtung, entweder habe ich es nich hinbekommen oder es ist nur für Zahlen....

http://www.powershellpraxis.de/index.php/grundlagen/formatierung-des-ou ...

Hier wie es aussehen soll, wird nur nicht ganz passend formatiert:
asfasdfasdfaegea                       - PV: 3.0.0.0 FV: 3.0.0.0
geg                                    - PV: 14.30.0.6 FV: 14.30.0.6
herahrhrgafefgagagwgawgewgawgwegwe     - PV: 3.0.0.0 FV: 3.0.0.0
agergae                                - PV: 3.0.0.0 FV: 3.0.0.0

Danke


Update:
Funktioniert - Geht es noch besser?
while(($datei |select -ExpandProperty length) -lt 30)
{
$datei="$datei" +" "  
}

Content-Key: 277383

Url: https://administrator.de/contentid/277383

Printed on: May 4, 2024 at 02:05 o'clock

Mitglied: 114757
114757 Jul 15, 2015 updated at 13:26:40 (UTC)
Goto Top
An deinem Beispiel kann ich das nicht erkennen was du willst. Aber eine Default-Konsole hat nur max. 80 Zeichen Breite, das musst du anpassen wenn du längere Zeilen haben willst:
# Powershell Host-Window anpassen auf 200 Zeichen anpassen
$window = (get-host).UI.RawUI
$buffersize = $window.BufferSize
$buffersize.Width = 200
$window.BufferSize = $buffersize

<# Bei Bedarf kann man das Fenster auch größer machen
$size = $window.WindowSize
$size.Width = 200
$size.Height = 40
$window.WindowSize = $size
#>
# -----------------

# Demostring erzeugen 200 mal ein "X" 
$string1 = "X"*200  
# String ausgeben
$string1
read-host
Gruß jodel32
Member: Marabunta
Marabunta Jul 15, 2015 at 13:45:12 (UTC)
Goto Top
hab die sollausgabe verbessert, ich hoffe es wird deutlicher
Mitglied: 114757
114757 Jul 15, 2015 updated at 16:16:47 (UTC)
Goto Top
Dann rate ich mal ins Blaue:
$string1 = "DemoLinks1"  
$string2 = "Demo-Gleicher-Abstand1"  
$string3 = "DemoLinks2blabla"  
$string4 = "Demo-Gleicher-Abstand1"  

"{0,-40} - {1}" -f $string1,$string2  
"{0,-40} - {1}" -f $string3,$string4  
Erstellt in der Ausgabe zwei Spalten in denen der Text jeweils Links ausgerichtet ist und die erste Spalte auf max. 40 Zeichen ausgerichtet wird.
Guckst du hier: Example 2: Columns Aligned - Desired Format


Ich würde hier aber eher mit Objekten und bei der Ausgabe mit Format-table arbeiten ...Wieso es sich so schwer machen, wenns doch einfacher geht face-wink