Powershell Missing')'在方法调用中

时间:2013-06-13 13:26:56

标签: powershell

当我尝试运行此命令时,我在方法调用中不断收到“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}'}"

2 个答案:

答案 0 :(得分:3)

一些事情:

  1. 如果您使用外部双引号来包装命令,请在其中使用单引号。
  2. 你有一个拼写错误:GetDate - >获取日期
  3. 您可以跳过displayHint并获取时间部分:

    (获取日期)AddMinutes(-15).ToUniversalTime() - 格式'HH:mm:ss'

  4. 我建议使用-File参数并在命令长于简单的一行时传递脚本路径,它可以为您节省一些头痛。
  5. 这是完整的命令:

    "&
    {
        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}
    }"
    

答案 1 :(得分: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}

我将GetDate替换为Get-Date