С помощью Google я собрал сценарий Powershell для автоматизации 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
}
}
Итак, вы просто ищете логику, которая учитывает, когда папка пуста? Можете работать лучше, если вы покажете нам код, с которым вы столкнулись. – Matt
Я вижу ваш код, но не понимаю вашу проблему. Если исходная папка пуста, обрабатывать нечего, поэтому скрипт работает правильно. Что вы хотите? – Matt
Да, дело в том, что если исходная папка пуста, она выходит! Я не хочу, чтобы он вышел, так как в то же время исходные файлы загружались из частного трекера! Когда новый файл добавляется, он должен автоматически запускать кодировку, но, как мы знаем, он выходит после того, как исходная папка пуста! Я просто хочу, чтобы он оставался работоспособным, даже если исходная папка пуста, а затем начните обработку, как только файл NEW будет получен в исходной папке. –