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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 546847
Url: https://administrator.de/contentid/546847
Printed on: April 26, 2024 at 13:04 o'clock
3 Comments
Latest comment
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