私は外付けドライブが故障し、多くの場合ほとんどすべてを失ったという恐ろしい運がありました。最後に、2台のドライブを自動的に「レイド」するコンソールアプリを作成するというアイデアがありました。今、ディレクトリ情報を取得する限り、私はそれを取得しました。何らかの理由で、一方から他方にコピーしようとすると、アクセスが拒否されたと表示されますか?何か案は?これは私がこれまでに行ったことです。(私は最初にテストのために映画とテレビをやっています)
エラーは「不正なアクセスの例外:パス'D:\ External Backup \ Movies and TV \AlienQuadrilogy'へのアクセスが拒否されました」です。
string _movieDIR = @"D:\External Backup\Movies and TV";
string _movieDIR2 = @"G:\TEMP";
string[] movies = Directory.GetDirectories(_movieDIR);
foreach(string movie in movies)
{
File.Copy(movie, _movieDIR2);
}
Console.ReadLine();
更新された完成したコード
string _movieDIR = @"D:\External Backup\Movies and TV";
string _movieDIR2 = @"G:\Movies and TV";
string[] movies = Directory.GetDirectories(_movieDIR);
if(Directory.Exists(@"G:\Movies and TV")){
Console.WriteLine("Purging old Movies Folder in G:");
Directory.Delete(@"G:\Movies and TV",true);
}
Console.WriteLine("Creating New Movies Folder in G:");
Directory.CreateDirectory(@"G:\Movies and TV");
double size = movies.Length;
double percent = 0.00;
double counter = 0;
foreach(string movie in movies)
{
Console.Write("\n\nCopying " + movie.ToString());
int pos = movie.IndexOf(@"V\");
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(movie, _movieDIR2+ @"\" + movie.Substring(pos+2).ToString(),true);
counter++;
percent = (counter / size)*100;
percent = Math.Round(percent,2);
Console.WriteLine("\n\nPercent Copied " + percent + "%\n\n");
}
Console.ReadLine();