0

当我尝试运行此命令时,我在方法调用中不断收到“Missing ')'。”

我错过了什么?

powershell -Command "& 
{
 if ((Get-Date -displayHint Time (GetDate)
         .AddMinutes(-15)
         .ToUniversalTime() -format HH:mm:ss) 
-lt ([datetime]::ParseExact('13:38:43', "HH:mm:ss", $null))) 
{ return 0 } 
else { return 1}'}"
4

2 回答 2

3

一些东西:

  1. 如果您使用外部双引号来包装命令,请在其中使用单引号。
  2. 你有一个错字:GetDate -> Get-Date
  3. 您可以跳过 displayHint 并通过以下方式获取时间部分:

    (Get-Date)AddMinutes(-15).ToUniversalTime() -format 'HH:mm:ss'

  4. 我建议使用 -File 参数并在您的命令比简单的单行长时传递脚本路径,它可以为您省去一些头痛。

这是完整的命令:

"&
{
    if((Get-Date -displayHint Time (Get-Date).AddMinutes(-15).ToUniversalTime() -format 'HH:mm:ss')  -lt 
    ([datetime]::ParseExact('13:38:43', 'HH:mm:ss', $null))) 
    {return 0} else { return 1}
}"
于 2013-06-13T14:04:02.010 回答
1

不确定你想做什么,但你可以尝试:

 if ((Get-Date -displayHint Time (Get-Date).AddMinutes(-15).ToUniversalTime() -format HH:mm:ss) -lt ([datetime]::ParseExact('13:38:43', "HH:mm:ss", $null)))
 { return 0 } 
 else
 { return 1}

我替换GetDateGet-Date.

于 2013-06-13T13:50:33.690 回答