1

を使用File.Copy(src, dest)して、スペースを含む UNC パスからファイルをコピーすると、機能しないようです。私が理解しているように、File.Copy 呼び出しは、スペースを含むローカル パスで正常に機能するはずです。これを機能させるにはどうすればよいですか (シェルを使用して「コピー」コマンドを実行する以外に)?

string srcPath1 = @"\\Host\Share\File_name.ext";  
string targetPath1 = @"C:\Temp\target1.file";
File.Copy(srcPath1, targetPath1);                 // OK

string srcPath2 = @"\\Host\Share\File name.ext";  // Note the space
string targetPath2 = @"C:\Temp\target2.file";
File.Copy(srcPath2, targetPath2);                 // File not found

上記の例の 2 番目の File.Copy() は、File Not found 例外をスローし、パスが存在しないことを主張します (たとえば、最初のスペースまでの完全なパスではありません)。

4

1 に答える 1

0

パスを引用符で囲んでも機能しますか? 言い換えると:

string srcPath2 = String.Concat("\"", @"\\Host\Share\File name.ext", "\"");

于 2013-01-22T13:19:00.563 に答える