0

我正在尝试编写一些基本上将一堆文件连接到一个输出文件中的东西。

我的代码如下

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所在的目录,而不是我指定的路径。

有什么帮助吗?

4

1 回答 1

1

您似乎在其中缺少引号或空格。您正在删除 result1 的最后三个字符,我假设它们是“ +”,然后立即添加一个引号。这会产生copy /b "d:\test1.ac3" + "d:\test2.ac3""d:\output.ac3".

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

于 2012-11-08T18:48:30.703 回答