来自 VBS 的 FFMPEG
FFMPEG from VBS
我在 运行 来自 VBS 的 ffmpeg 时遇到如下问题:
Cmd = "cmd.exe /K " & Chr(34) & """C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe""" & Chr(34) & " -i " & Chr(34) & """C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf""" & Chr(34) & " -vcodec copy -acodec copy " & Chr(34) & """C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4""" & Chr(34) '& " 2> " & Chr(34) & "LogFile.txt" & Chr(34)
objShell.Run Cmd, 10, True
我遇到错误:The system cannot find the path specified
input/output 文件的路径是正确的。我猜这似乎是一个转义序列问题。有的可以指点一下。
试试这个;
Cmd = "cmd.exe /K ""C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe"" -i ""C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf"" -vcodec copy -acodec copy ""C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4"" 2> LogFile.txt"
将等同于命令行;
cmd.exe /K "C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe" -i "C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf" -vcodec copy -acodec copy "C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4" 2> LogFile.txt
此问题是由于在双引号已被 ""
转义时向字符串添加 Chr(34)
(文字双引号) 引起的(加倍)。
有用的链接
- Answer from About using Double quotes in Vbscript (详细说明如何在字符串中使用双引号).
您可以使用此函数轻松引用您的变量DblQuote(str)
strcmd = "Cmd /K " & DblQuote("C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe") & " -i "& DblQuote("C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf") &" -vcodec copy -acodec copy "& DblQuote("C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4") &" 2> LogFile.txt"
wscript.echo strcmd
'---------------------------------------
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'---------------------------------------
我在 运行 来自 VBS 的 ffmpeg 时遇到如下问题:
Cmd = "cmd.exe /K " & Chr(34) & """C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe""" & Chr(34) & " -i " & Chr(34) & """C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf""" & Chr(34) & " -vcodec copy -acodec copy " & Chr(34) & """C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4""" & Chr(34) '& " 2> " & Chr(34) & "LogFile.txt" & Chr(34)
objShell.Run Cmd, 10, True
我遇到错误:The system cannot find the path specified
input/output 文件的路径是正确的。我猜这似乎是一个转义序列问题。有的可以指点一下。
试试这个;
Cmd = "cmd.exe /K ""C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe"" -i ""C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf"" -vcodec copy -acodec copy ""C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4"" 2> LogFile.txt"
将等同于命令行;
cmd.exe /K "C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe" -i "C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf" -vcodec copy -acodec copy "C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4" 2> LogFile.txt
此问题是由于在双引号已被 ""
转义时向字符串添加 Chr(34)
(文字双引号) 引起的(加倍)。
有用的链接
- Answer from About using Double quotes in Vbscript (详细说明如何在字符串中使用双引号).
您可以使用此函数轻松引用您的变量DblQuote(str)
strcmd = "Cmd /K " & DblQuote("C:\Users\admin\Documents\ffmpeg\bin\ffmpeg.exe") & " -i "& DblQuote("C:\Users\admin\Documents\TestFiles00012936-TXMHD.mxf") &" -vcodec copy -acodec copy "& DblQuote("C:\Users\admin\Documents\TestFiles00012936-TXMHD.mp4") &" 2> LogFile.txt"
wscript.echo strcmd
'---------------------------------------
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'---------------------------------------