作为一名优秀的Windows系统管理员,我终于开始学习PowerShell了.话虽如此,我不知道我在做什么(惊喜,惊喜).
我认为在家里玩PowerShell,远离我的生产环境对我来说是一个很好的学习经历.最近,我开始使用FFMPEG将我的所有.mkv文件转换为.mp4,这样我就可以通过Plex对我的PlayStation 3提供更好的播放支持,并认为这将是一次很好的学习体验.
我一直在运行的命令如下:
ffmpeg -i OldVideoName.mkv -vcodec copy -acodec ac3 OldVideoName.mp4
Run Code Online (Sandbox Code Playgroud)
我想要的是一个PowerShell脚本,它将运行一次,扫描文件夹和.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”
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!