優秀な Windows システム管理者として、ようやく PowerShell の学習に取り掛かりました。そうは言っても、私は自分が何をしているのかわかりません(驚き、驚き)。
実稼働環境から遠く離れた自宅で PowerShell をいじってみるのは、私にとって良い学習体験になると思いました。最近、FFMPEG を使用してすべての .mkv ファイルを .mp4 に変換し始めたので、Plex を介して PlayStation 3 の再生サポートを向上させることができ、これは良い学習体験になると考えました。
私が実行しているコマンドは次のとおりです。
ffmpeg -i OldVideoName.mkv -vcodec copy -acodec ac3 OldVideoName.mp4
私が欲しいのは、PowerShell スクリプトを 1 回実行し、.mkv ファイル (Get-ChildItem ".*.mkv") のフォルダーとすべてのサブフォルダーをスキャンし、上記のコマンドを使用してそれらを .mp4 にトランスコードし、配置することです。同じ命名スキームの .mkv と同じ場所にあります。
D:\Videos をターゲット ディレクトリとしてスクリプトを実行する例:
D:\Videos\home_dvr\movies\video1.mkv --> D:\Videos\home_dvr\video1.mp4 D:\Videos\home_dvr\tv\video2.mkv --> D:\Videos\home_dvr\tv\video2 .mp4
ご想像のとおり、私は一生それを理解することはできません。あきらめる前の最新の試みは次のとおりです。
$oldvid = Get-ChildItem .\*.mkv -Recurse
$newvid = $oldvid.Name.split(‘.’)[0]; ForEach-Object {
.\ffmpeg.exe -i $oldvid -y -vcodec copy -acodec ac3 $newvid".mp4”
}
どんな助けでも大歓迎です!