由于项目需要ffmpeg drawtext文字水印做换行,但是发现\r\n这种换行符对window的命令行程序无效,而一输入回车指令就执行了,加了^只是能够换行,而不是输入换行符,跟我的需求完全不吻合,根本没法在cmd.exe命令行里传这两个特殊参数,tab就更加不用说了。
cmd.exe里面要传空格可以用""将内容包起来,但是回车换行找了大半天没有找到转义的方法。
win7开始就支持powershell了,想着可以使用powershell做命令行传参使用powershell的转义符去做命令行转义
powershell的用法跟cmd基本上是一样的,但是他特别在支持了转义,那我直接把我的指令拉过来,加上换行试试
每个win7及以上的电脑都支持powershell命令行程序,可以在win+r输入powershell.exe启动powershell
PS C:\Users\Administrator> G:\ffmpeg-4.3.2-2021-02-27-full_build\bin\ffplay.exe -i "H:\问题视频\12怒汉 1957.1080p.BluRay.MKV.中英字幕-CnSCG.mkv" -vf "drawtext=font='微软雅黑':text='中文测试`r`n中文测试':fontcolor=white:fontsize=33"
成功解决