Powershell 脚本计划任务不会结束

dly*_*988 4 scripting powershell windows-7

我想使用这个Powershell 脚本在 Win7 机器上自动进行一些备份。当从 Powershell 终端手动运行时,脚本按广告运行并在几秒钟后结束(这是一个小备份)。

问题是当我尝试使用任务计划程序自动化该过程时。时机成熟时(或当我手动运行任务时),脚本会运行并正确执行备份。但它并没有回到“就绪”状态,即使我知道它已经结束了。我每次都必须手动停止任务。

现在,我还没有等到任务再次运行时会发生什么,但我认为它不会第二次启动,因为它没有“准备好”。

我该怎么办?

更新1:

我选择的操作是“启动程序”。在“程序/脚本”框中,我有“powershell.exe”,作为参数,我有脚本“*.ps1”文件的路径。

更新1:

我注意到虽然任务没有返回“就绪”,但如果我手动启动它,它会再次运行。

xXh*_*L7Z 8

BackupScript.ps1 的最后两行是

Write-Host "Press any key to close ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Run Code Online (Sandbox Code Playgroud)

将这些注释掉(或删除它们),预定的作业应该完成并干净地退出。如果你真的想在结尾处的停顿,像下面这样替换最后一行这个包裹超时周围(每个睡眠为1秒):

$counter = 0
while(!$Host.UI.RawUI.KeyAvailable -and ($counter++ -lt 600))
{
      [Threading.Thread]::Sleep( 1000 )
}
Run Code Online (Sandbox Code Playgroud)