Skrypt PowerShell ffmpeg
Będąc dobrym administratorem systemów Windows, którym jestem, w końcu przechodzę do nauki PowerShell. Mając to na uwadze, nie mam pojęcia, co robię (niespodzianka, niespodzianka).
Pomyślałem, że dobrze będzie mi się bawić z PowerShell w domu, z dala od środowiska produkcyjnego. Niedawno zacząłem używać FFMPEG do konwertowania wszystkich moich plików .mkv na .mp4, dzięki czemu mogłem mieć lepszą obsługę odtwarzania na PlayStation 3 za pośrednictwem Plexa i uważałem, że będzie to dobre doświadczenie edukacyjne.
Polecenie, które uruchomiłem, wygląda następująco:
ffmpeg -i OldVideoName.mkv -vcodec copy -acodec ac3 OldVideoName.mp4
Chcę mieć skrypt PowerShell, który uruchomi się raz, skanuje folder i wszystkie podfoldery plików .mkv (Get-ChildItem ". *. Mkv"), przekoduje je do .mp4 za pomocą powyższego polecenia i umieści je w tej samej lokalizacji co .mkv z tym samym schematem nazewnictwa.
Przykład uruchomienia skryptu za pomocą D: Filmy jako katalog docelowy:
D: video home_dvr filmy video1.mkv -> D: video home_dvr video1.mp4 D: wideo home_dvr v video2.mkv -> D: wideo home_dvr v wideo 2 .mp4
Jak łatwo się domyślić, nie potrafię tego zrozumieć na całe życie. Oto ostatnia próba przed poddaniem się.
$oldvid = Get-ChildItem .\*.mkv -Recurse
$newvid = $oldvid.Name.split(‘.’)[0]; ForEach-Object {
.\ffmpeg.exe -i $oldvid -y -vcodec copy -acodec ac3 $newvid".mp4”
}
Każda pomoc byłaby mile widziana!