cmd命令未被识别为>;内部或外部命令、可操作程序或批处理文件

本文关键字:命令 外部 程序 批处理文件 内部 可操作 gt 识别 cmd | 更新日期: 2023-09-27 18:25:11

当我运行此代码时。

public void WaterMarkingUsingCommandLine(string videopath, string imagepath)
{
    string OutputFolder = AppDomain.CurrentDomain.BaseDirectory + "Output''" + System.IO.Path.GetFileNameWithoutExtension(videopath) + "_Output.mp4";
    string ffmpegPath = @""""+AppDomain.CurrentDomain.BaseDirectory + @"ffmpeg.exe""";
    string ffmpegParams = @"-i """+videopath+@""" -i """+imagepath+@""" -filter_complex ""overlay=10:10"" """+OutputFolder+@"""";
    Process ffmpeg = new Process();
    ffmpeg.StartInfo.FileName = "cmd.exe";
    ffmpeg.StartInfo.Arguments = "/k " + ffmpegPath + " " + ffmpegParams;
    ffmpeg.Start();
}

我在cmd中看到了这一点。

"c:''users''jafar.baltidynamolog''documents''visual"未被识别为内部或外部命令、可操作程序或批处理文件。

C: ''Users''jafar.baltdynamolog''Videos''Videos>

这个问题似乎是由于空间问题。正如在其他问题中所说,我在文件名周围添加了逗号,但它仍然不起作用。

更新

通过调试,我发现的价值

ffmpeg.StartInfo.Arguments=

"/k''"c:''users''jafar.baltdynamolog''documents''visual studio2010''Projects''VideoProjectBilal''WideoProjectBilal''bin''Debug''ffmpeg.exe''"-i''"C:''Users''jafar.baltidynamolog''Videos''Videos''SampleVideo_360x240_2mb.mp4''"-i''"C:''Users''jafar.baltidinamolog''Videos''images''2.png''"-filter_complex''"overlay=10:10''"''"C:''Users''jafar.paltidinaMolog''documents''visual studio2010''Projects''VideoProjectBilal''WideoProjectBilal''bin''Debug''Output''SampleVideo_360x240_2mb_Output.mp4''"

cmd命令未被识别为>;内部或外部命令、可操作程序或批处理文件

尝试更改此行:
string ffmpegPath = @""""+AppDomain.CurrentDomain.BaseDirectory + @"ffmpeg.exe""";
为此:
string ffmpegPath = @"""" + AppDomain.CurrentDomain.BaseDirectory + "ffmpeg.exe";

更新
试试这个:

string OutputFolder = AppDomain.CurrentDomain.BaseDirectory + "Output''" + System.IO.Path.GetFileNameWithoutExtension(videopath) + "_Output.mp4";
string ffmpegPath =AppDomain.CurrentDomain.BaseDirectory + "ffmpeg.exe";
string ffmpegParams = "-i " + videopath + " -i " + imagepath + " -filter_complex overlay=10:10 " + OutputFolder ;