在 Google 的帮助下,我为 Handbrake 自动化编写了一个 Powershell 脚本。
它能做什么:
- 有些文件是通过 RSS 自动下载的。它们被放置在源文件夹中。
- Powershell 脚本执行 Handbrake,编码开始并成功结束。
- 如果源文件夹中没有新文件到达,则脚本退出。
问题在于最后一项。当源文件夹为空时,Powershell 脚本退出,但我希望它继续运行并在它们到达时处理更多文件,直到我杀死它。添加新文件时,它应该自动开始编码。
代码在PasteBin中,其中有更多注释,但应该很容易推断出脚本的作用:
$inputpath = "I:\S"
$outputpath = "I:\E"
$movies = ls $inputpath
foreach($movie in $movies){
$name = $movie.basename
if(!(test-path -path "$outputpath\$name.mkv")){
C:\"Program Files"\handbrake\HandBrakeCLI.exe -i "$inputpath\$movie" -o "$outputpath\$name.mkv" `
-e x264 -b 1000 -2 -T -a 1,1 -E mp3 -B 112 --mixdown stereo -f mkv --detelecine --decomb `
--loose-anamorphic -m -x rc-lookahead=30:ref=4:bframes=3:me=umh:subme=9:analyse=none:deblock=1:0:0:8x8dct=1
}
}