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

Using FileInfo Classを参照してください。ここでは実際には必要ありませんが、ファイルやフォルダーを操作するための便利な機能が多数含まれています。これを読むと、アプリケーションの計画に役立ちます。

于 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 に答える