在c#中使用copy命令,不尊重路径

时间:2012-11-08 16:58:51

标签: c# copy command

我正在尝试编写一些基本上将一堆文件连接成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所在的目录,而不是我拥有的路径指定。

任何帮助?

1 个答案:

答案 0 :(得分:1)

你似乎要么在那里缺少一个引用,要么就是空格。你要删除result1的最后三个字符,我假设它是“+”,然后立即添加引号。这会产生copy /b "d:\test1.ac3" + "d:\test2.ac3""d:\output.ac3"

我认为这会出错,但如果没有,那肯定会产生你的奇怪行为。特别是如果你的文件名实际上有空格。