5

ファイルを含むすべてのファイルとサブディレクトリを同じフォルダーの別のサブディレクトリに移動したい。

たとえば、内部に abcd という名前のフォルダーがあり、ファイル aa とサブフォルダー bb、cc、dd があります。そのため、abcd\backup と同じフォルダー内に別のサブディレクトリを作成し、aa、bb、cc、dd、つまりすべてのファイルとフォルダーをバックアップ フォルダーに移動したいと考えています。

4

2 に答える 2

2

これは非常に簡単です。

Directory.Move("SourcePath", "DestinationPath");

ソース フォルダー内のすべてのディレクトリを処理し、forloop または foreach を使用してすべてのフォルダーに対して上記の構文を使用し、目的のフォルダーに移動します。

于 2013-07-04T11:50:21.523 に答える
1
        string source = @"d:\test";
        string dest = @"d:\move\";

        DirectoryInfo dirInfo = new DirectoryInfo(dest);
        if (dirInfo.Exists == false)
            Directory.CreateDirectory(dest);


        DirectoryInfo dir = new DirectoryInfo(source);
        DirectoryInfo[] dirs = dir.GetDirectories();


        string[] files = Directory.GetFiles(source);
        Int32 i = dirs.Count() + files.Count();
        //   for progress bar

        foreach (string file in files)
        {
            try
            {
                string name = Path.GetFileName(file);
                string destFile = Path.Combine(dest, name);
                // skip some file
                if (name != "file") File.Move(file, destFile);
            }
            catch
            {

            }
        }

        foreach (DirectoryInfo subdir in dirs)
        {
            string temppath = Path.Combine(dest, subdir.Name);
            if (!Directory.Exists(temppath))
                try
                {
                    Directory.Move(subdir.FullName, temppath);
                }
                catch
                {

                }
        }
于 2016-06-28T09:39:36.970 に答える