如何在Powershell中永远重复命令?

时间:2017-09-12 17:18:44

标签: powershell

我正在运行一个命令,我想在完成时重新运行,而无需导航回终端再次输入命令。

我知道在Ubuntu中,我可以使用命令运行终端,如果我将其设置正确,它将永远循环,类似于gnome-terminal -x $MY_COMMAND

鉴于我无法将Powershell标记为重新运行命令而不是关闭窗口,我该如何无限期地重复命令?

2 个答案:

答案 0 :(得分:3)

执行完成后,这将无限次地运行命令:

While (1)
{
    Start-Process -FilePath 'python3' -ArgumentList @('.\manage.py','runserver_plus','8080') -Wait -ErrorAction 'SilentlyContinue'
}

可替换地:

#requires -Version 3
While (1)
{
    Try {
        $Params = @{FilePath='python3'
                    ArgumentList=@('.\manage.py','runserver_plus','8080')
                    Wait=$True
                    ErrorAction='Stop'}
        Start-Process @Params
    } Catch {
        <# Deal with errors #>
        Continue
    }
}

答案 1 :(得分:2)

事实证明答案是相当直接的,将命令永远包裹在一个循环中。这将允许您从中输出Ctrl-C,并且即使在您的命令完成或以其他方式第一次退出时它也会继续重复。

while ($true) {
  my_command;
}

或者在我的情况下作为一个班轮:while ($true) { python3 .\manage.py runserver_plus 8080; }