我正在使用'复制'来连接mpg格式的视频文件。在C#中以编程方式命令命令提示符。我可以在命令提示符下手动执行命令,它可以正常工作。
Copy /b D:\\ccc\\out0.mpg /b + D:\\ccc\\out1.mpg /b D:\\ccc\\bMPGVideo.mpg /b
但是当我以编程方式执行相同的命令时,它会抛出错误。
strCmdText = "/K Copy /b D:\\ccc\\out0.mpg /b + D:\\ccc\\out1.mpg /b D:\\ccc\bigMPGVideo.mpg /b";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "CMD.exe";
p.StartInfo.Arguments = strCmdText;
p.StartInfo.RedirectStandardError = true;
p.Start();
MessageBox.Show(p.StandardError.ReadToEnd());
消息框显示以下消息
句柄无效
文件名,目录名或卷标无效
手柄无效
句柄无效
有人可以帮帮我吗?
答案 0 :(得分:3)
D:\\ccc\bigMPGVideo.mpg
应为D:\\ccc\\bigMPGVideo.mpg
。
编辑 - 根据评论:
// create target file
using (FileStream Tgt = File.Create (@"D:\ccc\bigMPGVideo.mpg") )
{
// append out0.mpg to target
using (FileStream Out0 = File.Open (@"D:\ccc\out0.mpg"))
{
Out0.CopyTo (Tgt);
}
// append out1.mpg to target
using (FileStream Out1 = File.Open (@"D:\ccc\out1.mpg"))
{
Out1.CopyTo (Tgt);
}
}