PowerShell Eingabe um führende Null ergänzen
Hi zusammen,
ich kämpfe gerade mit einem trivialen Problem:
Ich habe eine Eingabe die einstellig ist, die ich aber zweistellig mit führender Null benötige.
Gefunden habe ich die Funktion ToString und hier eine Erklärung von MS, aber ich schaffe es nicht diese richtig anzuwenden ....
Das wäre mein Ansatz gewesen:
Das ist dann die Fehlermeldung die ich erhalte
Was mache ich falsch?
ich kämpfe gerade mit einem trivialen Problem:
Ich habe eine Eingabe die einstellig ist, die ich aber zweistellig mit führender Null benötige.
Gefunden habe ich die Funktion ToString und hier eine Erklärung von MS, aber ich schaffe es nicht diese richtig anzuwenden ....
Das wäre mein Ansatz gewesen:
$select = Read-Host -Prompt "Bitte den Monat als Zahl eingeben, für den das Script ausgeführt werden soll!"
$test = $select.ToString("D2")
Das ist dann die Fehlermeldung die ich erhalte
Für "ToString" und die folgende Argumenteanzahl kann keine Überladung gefunden werden: "1".
In Zeile:2 Zeichen:1
+ $test = $select.ToString("D2")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) , MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
Was mache ich falsch?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 546847
Url: https://administrator.de/contentid/546847
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
3 Kommentare
Neuester Kommentar
Der -f Paramer ist nützlich:
funktioniert aber nicht für strings, d.h. die readhost ausgabe in zeile 1 gleich zu einem integer machen
In der zweiten zeile wird gesagt das man eine zahl gerne zweistellig hätte (d = "padding")
Mehr:
https://ss64.com/ps/syntax-f-operator.html
[int]$select = Read-Host -Prompt "Bitte den Monat als Zahl eingeben, für den das Script ausgeführt werden soll!"
$zweistellig = "{0:d2}" -f $select
funktioniert aber nicht für strings, d.h. die readhost ausgabe in zeile 1 gleich zu einem integer machen
In der zweiten zeile wird gesagt das man eine zahl gerne zweistellig hätte (d = "padding")
Mehr:
https://ss64.com/ps/syntax-f-operator.html
funktioniert aber nicht für strings
Dafür gibt es PadLeft$select = Read-Host -Prompt "Bitte den Monat als Zahl eingeben, für den das Script ausgeführt werden soll!"
$select.PadLeft(2,"0")
1. Das warum [Int] vor die Variable? Ich gebe ja nur ganzahlig ein
Weil der Format-Operator in dem Fall einen Wert vom Typ Zahl und nicht String erwartet.2. Wo findet man so einen sch... ??? -
.NET Framework lernen und das Powershell Handbuch lesen dann brauchst du das nicht mehr "finden" sondern weißt wie aus ersten Hand