【发布时间】:2018-07-12 15:53:20
【问题描述】:
我有一个如下所示的有效 Powershell 语句,
$Uptime = $Uptime | ForEach-Object {
if($_ -eq "N/A"){return $_}else{'{0}:{1}:{2:D2}:{3:D2}' -f ($_.Duration()).Days,($_.Duration()).Hours,($_.Duration()).Minutes,($_.Duration()).Seconds}
}
其中$Uptime 是DateTime 对象的数组。
我喜欢我的 else 语句的一个衬里,但我想在我的 else 语句中创建一个包含 $_.Duration() 的变量,而不是重复它。
我试过了,
$Uptime = $Uptime | ForEach-Object {
if($_ -eq "N/A"){return $_}else{ $d = $_.Duration() return '{0}:{1}:{2:D2}:{3:D2}' -f ($d).Days,($d).Hours,($d).Minutes,($d).Seconds}
}
这显然不是有效的语法(表达式或语句中的意外标记'return')。
显然我的目标是具有与上述相同的行为并返回格式化字符串'{0}:{1}:{2:D2}:{3:D2}',但我找不到正确的语法。
【问题讨论】:
标签: powershell foreach syntax