我想使用这个 Powershell脚本来自动化Win7机器上的一些备份。 当从Powershellterminal手动运行脚本时,脚本按照广告运行,几秒后结束(这是一个小的备份)。
问题是当我尝试使用Task Scheduler自动执行进程时。 当时间到了(或手动运行任务)脚本运行并正确执行备份。 但是,即使我知道它已经结束,它也不会返回到“就绪”。 我必须每次手动停止任务。
现在,我并没有等待任务再次运行时会发生什么,但是我认为它不会再次启动,因为它不是“就绪”。
我能做些什么?
更新1:
我select的行动是“启动程序”。 在“程序/脚本”框中,我有“powershell.exe”,作为参数我有脚本“* .ps1”文件的path。
更新1:
我注意到,虽然任务没有返回到“就绪”,但如果我手动启动它,它会再次运行。
BackupScript.ps1的最后两行是
Write-Host "Press any key to close ..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
评论这些(或删除它们)和计划的工作应完成并退出干净。 如果你真的想在最后停顿一下,用最后一行代替这个东西来包装一个超时(每个睡眠都是1秒):
$counter = 0 while(!$Host.UI.RawUI.KeyAvailable -and ($counter++ -lt 600)) { [Threading.Thread]::Sleep( 1000 ) }