gpt4 book ai didi

c# - 如何将目录和文件从一个外部复制到另一个 C# 控制台

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:16 24 4
gpt4 key购买 nike

我曾因外部驱动器发生故障而运气不佳,并且在很多情况下几乎失去了一切。最后我有了创建一个控制台应用程序的想法,它可以自动“突袭”我的两个驱动器。现在就获取目录信息而言,我知道了。出于某种原因,当我尝试从一个复制到另一个时,它说访问被拒绝?有任何想法吗?这是我到目前为止所做的。 (我只是先做我的电影和电视来测试)

错误是“未经授权的访问异常:访问路径 'D:\External Backup\Movies and TV\Alien Quadrilogy' 被拒绝。”

        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();

最佳答案

如果您想复制目录,您可以使用 Microsoft.VisualBasic 命名空间中方便的 FileIO 方法。

    string _movieDIR = @"D:\External Backup\Movies and TV";
string _movieDIR2 = @"G:\TEMP";
string[] movies = Directory.GetDirectories(_movieDIR);

foreach(string movie in movies)
{
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(_movieDIR, _movieDIR2);
}

关于c# - 如何将目录和文件从一个外部复制到另一个 C# 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com