2017-06-30 9 views
0

- 私のローカルコピーに共有ファイルをコピーしようとしている:ロックディレクトリとなってFileNotFoundException

File.Copy("\\sharedmachine\directory\file.exe", "\\localmachine\directory\file.exe", true); 

ソースファイルが存在するが、別のユーザー/マシンは、「Windowsエクスプローラでディレクトリを開いている場合"例えば、この操作ロックとコピー中に私はSystem.IO.FileNotFoundExceptionを取得しています。

他のマシンでディレクトリを開いてもファイルをコピーする方法はありますか?ファイルにアクセスするアプリケーションがブロックされないように、読み取り専用、その後、先に書き込むようにファイルを開い

おかげ

+0

https://stackoverflow.com/a/6167163/1454084 – Coomanperson

答えて

1

using (var from = File.Open("sourcePath", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) 
    using (var to = File.OpenWrite("destPath")) 
    { 
     from.CopyTo(to); 
    } 
+1

はたぶん、いくつかのあなたのコードが正しいと信じる理由などの詳細、または何あなたはOPのがないことを解決しています。 –

+0

@AnthonyHorneコードは自明ではないと思いませんか? –

+1

私には、3点あるOPにはないかもしれません。ファイルにアクセスするアプリケーションがブロックされないように、ファイルを読み取り専用で開いて宛先に書き込むと言う1行のコメントを追加すると、他の人が理解するのに役立ちます。それはあなたの答えであり、コミュニティ全体をあなたと一緒に前進させるための最善の答えを提供するべきです。 –

関連する問題