Google의 도움을 받아 Handbrake 자동화를위한 Powershell 스크립트를 작성했습니다.Powershell 스크립트는 입력 폴더에있는 파일을 기다리지 않고 종료합니다.
가 무엇을 :
- 일부 파일은 RSS를 통해 자동으로 다운로드됩니다. 원본 폴더에 있습니다.
- Powershell 스크립트가 Handbrake를 실행하고 인코딩이 시작되고 성공적으로 끝난다.
- 원본 폴더에 새 파일이 도착하지 않으면 스크립트가 종료됩니다.
마지막 항목에 문제가 있습니다. 원본 폴더가 비어있을 때 Powershell 스크립트가 종료되었지만 파일을 죽일 때까지 계속 실행하고 더 많은 파일을 처리하려고합니다. 새 파일이 추가되면 인코딩이 자동으로 시작됩니다. 귀하의 의견에
$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
예, 원본 폴더가 비어 있으면 종료됩니다. 나는 그 동안 개인 추적기에서 다운로드되는 소스 파일을 종료하는 것을 원하지 않습니다! 새 파일이 추가되면 인코딩이 자동으로 시작되지만 알고 있듯이 소스 폴더가 비어있는 경우 종료됩니다. 소스 파일이 비어 있어도 새로운 파일이 소스 폴더에 도착하자 마자 처리를 시작하기 만하면됩니다. –