我想使用
this Powershell脚本在Win7机器上自动执行一些备份.从Powershell终端手动运行时,脚本按照公告的方式运行,并在几秒钟后结束(这是一个小备份).
问题是当我尝试使用任务计划程序自动执行该过程时.到时候(或者我手动运行任务时),脚本会运行并正确执行备份.但它并没有回到“准备好”,即使我知道它已经结束了.我必须每次手动停止任务.
现在,我还没有等到再次运行任务的时候会发生什么,但我认为它不会再次启动,因为它不是“就绪”.
我该怎么办?
更新1:
我选择的行动是“开始一个程序”.在“程序/脚本”框中,我有“powershell.exe”,作为参数,我有脚本“* .ps1”文件的路径.
更新1:
我注意到虽然任务没有返回“Ready”,但如果我手动启动它,它会再次运行.
BackupScript.ps1的最后两行是
Write-Host "Press any key to close ..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
评论这些(或删除它们)和预定的工作应该完成并干净地退出.如果你真的想要最后的暂停,用this之类的东西替换最后一行以包围它周围的超时(每次睡眠是1秒):
$counter = 0 while(!$Host.UI.RawUI.KeyAvailable -and ($counter++ -lt 600)) { [Threading.Thread]::Sleep( 1000 ) }