避免在PowerSehll中重复Schtasks

时间:2017-06-30 06:53:36

标签: python powershell ffmpeg schtasks.exe

问题很简单,但似乎我对Schtasks的哲学存在问题。

目标:

当我最喜欢的节目流式传输时,每天只下载2小时的在线流(使用FFMPEG);我们可以给出一个开始和结束日期,但如果它每天都无限期地运行我就没事了。

如何:

安排在线程序启动时运行PowerShell脚本的任务;当然这就是我提出来的;如果你有更好的想法(可能使用Python),请随意提出建议。

我的解决方案:

schtasks /Create /SC DAILY /TN Task1 /TR "powershell.exe .\dl.ps1" /ST 18:00 /DU 02:00

dl.ps1包含:

ffmpeg -i "rtmp://185.23.131.187/live/flv:tv3 live=1" -c copy .\fileName.flv

问题:

此任务在10分钟后重复 - 这是默认的重复时间。

问题

我如何实现目标并避免重复?也许我对持续时间,/ DU和重复间隔/ RI的看法是错误的。

奖金问题

我想根据录制日期更改每个录制文件的名称,即fileName。我如何在PowerShell中执行此操作?

我见过一个需要将任务导出到XML文件的解决方案。我希望如果可能的话,我们可以提出更优雅的解决方案。

1 个答案:

答案 0 :(得分:1)

而不是使用/DU持续时间(根据帮助文本强制默认重复间隔为10分钟)而不是/ET用于结束时间而/K用于终止任务。结束时间:

schtasks /Create /SC DAILY /TN Task1 /TR "powershell.exe .\dl.ps1" /ST 18:00 /ET 20:00 /K

要根据录制日期更改文件名称,您可以使用PowerShell脚本中的Subexpression Get-Date使用$() -Format参数,如下所示:

ffmpeg -i "rtmp://185.23.131.187/live/flv:tv3 live=1" -c copy ".\$(get-date -format 'dd-MM-yyyy').flv"