我正在尝试编写一些基本上将一堆文件连接成1个输出文件的代码。
我的代码如下
string[] destination = new string[this.lbFiles.Items.Count];
this.lbFiles.Items.CopyTo(destination, 0);
string result1 = ConvertStringArrayToString(destination);
result1 = result1.Remove(result1.Length - 3);
string outputfile = this.saveFileDialog1.FileName;
string copyarg = "copy /b " + result1 + quote + outputfile + quote;
System.Diagnostics.Process.Start("CMD.exe", copyarg);
所以基本上result1 =我试图连接的所有文件。完整路径和引号。和outputfile =我想用完整路径的输出文件名。
我的问题是,当我执行代码时,它会复制文件,但它不使用我指定的输出文件名,它将文件输出到程序exe所在的目录,而不是我拥有的路径指定。
任何帮助?
答案 0 :(得分:1)
你似乎要么在那里缺少一个引用,要么就是空格。你要删除result1的最后三个字符,我假设它是“+
”,然后立即添加引号。这会产生copy /b "d:\test1.ac3" + "d:\test2.ac3""d:\output.ac3"
。
我认为这会出错,但如果没有,那肯定会产生你的奇怪行为。特别是如果你的文件名实际上有空格。