-4

请让我知道如何将文件夹中的所有文件复制到 c# .net 中的另一个文件夹。

目前我正在使用:

int j = 1;
int k = 1;

    for (j = 1; j < 5; j++)
    {

        for (k = 1; k < 32; k++)
        {

            string sourcePath = @Desktop_location + "\Test" + k + ".log";

            if (System.IO.File.Exists(sourcePath))
            {
                File.Copy(@Desktop_location + "\\Statistics\\Server" + j + "\Test" + k + ".log", @Desktop_location + "\\Statistics\\Transfer\\test" + j + k + ".log");
                //Console.WriteLine("Test Result");
            }
            else
            {
                //Console.WriteLine("Test");
4

2 回答 2

1
string[] filePaths = Directory.GetFiles(@"c:\MyDir\");

请参阅从目录中获取文件

string myPath = @"C:\Test";
foreach (string file in filePaths)
{
    FileInfo info = new FileInfo(file);
    if (!File.Exists(info.FullName))
    {
       File.Copy(info.FullName, newPath);
    }
}

请参阅使用 FileInfo 类,您实际上并不需要它,但它包含许多用于处理文件和文件夹的有用功能。阅读它将帮助您规划您的应用程序。

于 2013-03-18T11:39:07.800 回答
0

如果你真的想复制所有文件,你可以这样做(复制包括目录在内的所有内容):

foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories))
{
    Directory.CreateDirectory(dirPath.Replace(sourcePath, destinationPath));
}

foreach (var newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories))
{
    File.Copy(newPath, newPath.Replace(sourcePath, destinationPath));
}
于 2013-03-18T11:31:03.387 回答