我正在尝试编写一个PowerShell脚本,以供我自己使用,以便在Windows上运行它,因此它会逐渐增加。当我复制脚本并将其粘贴到PowerShell窗口并单击enter时,它运行良好,但当我将脚本内容保存在.ps1文件中并从上下文菜单中使用PowerShell运行它时,它就无法工作。它会立即关闭,并且不会等到间隔条件完成后再进行。
$timer = New-Object Timers.Timer $iter = 0; $action = { $iter += 1; Write-Host "Interval: $iter"; if ($iter -eq 10) { Unregister-Event thetimer; pause; $timer.Interval = 1000 #3 seconds Register-ObjectEvent -InputObject $timer -EventName elapsed –SourceIdentifier thetimer -Action $action $timer.Start()
我简化了剧本。我应该使用什么命令和位置来挂起脚本,直到interval事件结束?
发布于 2018-04-01 13:47:30
计时器脚本块中的 pause 命令不会影响您启动计时器的父进程。
pause
要使父窗口保持打开状态,直到计时器结束,可以添加一个检查作业状态的循环:
...