これを行うための最良の方法を見つけるために、ファイルを「ダウンロード」したい(ある宛先から別の宛先にファイルをコピーするようなもの)。xcopyなどを試しています。今はWebClientを試しています。以下にコードを配置しました。
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
foreach (string drivePath in _destRepository.Destinations)
{
do
{
AsyncItem job = _repository.GetNextAsyncItem();
string source = job.DownloadLocation;
string destination = drivePath + job.Destination;
client.DownloadFileAsync(new Uri(source), destination);
} while (_repository.QueueCount < 1);
}
AsyncItemは、ソースと相対的な宛先(ドライブの場所がない宛先)を保持する単なるカスタムクラスです。次に、ドライブパスを指定し、クライアントにDownloadFileAsyncを表示します。ただし、Event Completed関数で、エラーが発生します。InnerExceptionは、宛先が存在しないことを教えてくれますか?
もちろん、それはまだ存在していません。WebClientが作成する必要があります。これにより、WebClientはフォルダ構造を作成しないのではないかと思いました。これらのファイルのいくつかは、2つのレベルの深さにあります。
StackOverflowの意見は何ですか?
ありがとう。