当前目录下有一堆flv文件
中文名1.flv
中文名2.flv
...
中文名999.f1lv
想递归执行命令, 以第一个文件为例: ffmpeg -i 中文名1.flv 中文名1.mp4
我尝试多种方式, 最接近的是:
Get-ChildItem *.flv | ffmpeg -i $file.Name $file.BaseName+'.mp4'
输出是:
"c:\program files\ffmpeg\bin\ffmpeg.exe" -i "中文名1.flv" "中文名1" +.mp4
当然上面这条不符合ffmpeg的语法, 问题出在最后的: "中文名1" +.mp4
, 而我是想要"中文名1.mp4"
这样的形式.
不知道怎么才能将.mp4和前面的文件名1合并起来成为一个字符串. 我也尝试了 -join($file.Basename, ".mp4")
, 效果一样.
请教熟悉powershell的朋友帮我解决我的问题. 感谢.
把单引号换成双引号