Der Eingabeparameter meines Skripts ist ein Datum oder eine Zahl. Hier ist ein Skript, das funktioniert gut, so können Sie sehen, was ich zu tun versucht:Wie überprüfe ich, ob eine Zeichenfolge ein Datum enthält?
param($date = (Get-Date))
if ($date -match "^\d+$")
{
$date = (Get-Date).AddDays($date)
}
elseif ($date -as [DateTime])
{
$date = [DateTime]::Parse($date)
}
else
{
'You entered an invalid date'
exit 1
}
Hier ist mein früherer Versuch, dass nicht Arbeit:
param($date = (Get-Date))
if ($date -as [DateTime])
{
$date = [DateTime]::Parse($date)
}
elseif ($date -match "^\d+$")
{
$date = (Get-Date).AddDays($date)
}
else
{
'You entered an invalid date'
exit 1
}
Wenn ich Eingabe einer Zahl, die Skript bricht bei Datum Parsing-Zeile. Es sieht so aus, als ob meine "ist ist Datum" Prüfung wahr zurückgibt, wenn eine Zahl gegeben wird.
Ist es ein Fehler? Ist es von Entwurf?
Es ist meine erste Powershell-Skript, so zögern Sie nicht, meine möglichen Fehler zu zeigen. –