1

如何将以下所有内容放在一行中,以便用户能够立即输入?

因此,与其Read-Host每次他们想输入内容时都会弹出一个 - 它会弹出一次并说明您要输入的日期为..

所以 - “请输入完整的日期和时间 - 即 2012 年 10 月 25 日 9:00”

另外-如果有人输入了一个奇怪的字符,我该如何让它出错?

$Day = $(Read-Host "Enter day of month")
if ($Day -eq ''){$Day = Get-Date -format dd}

$Month = $(Read-Host "Enter Month of Year")
if ($Month -eq ""){$Month = Get-Date -format MM}

$Year = $(Read-Host "Enter Year")
if ($Year -eq "") {$Year = Get-Date -format yy}

$Hour = $(Read-Host "Enter Hour")
if ($Hour -eq "") {$Hour = Get-Date -Format HH}

$Minute = $(Read-Host "Enter Minute")
if ($Minute -eq "") {$Minute = Get-Date -Format mm}

$Second = $(Read-Host "Enter Hour")
if ($Second -eq "") {$Second = Get-Date -Format ss}
4

1 回答 1

4

你可以这样做:

do
{
    $date= read-host "Please enter date & time (i.e.: '25/12/2012 09:00', '25 oct 2012 9:00'; date alone set time to 00:00):"

    $date = $date -as [datetime]

    if (!$date) {
        "Not A valid date and time"
    }
} while ($date -isnot [datetime])

$date
于 2012-10-25T18:53:29.087 回答