-1

C#3.5で、ある場所から別の場所にフォルダー構造(コンテンツではない)のみを複製できるようにしたい


:C:\ Some Folder
   + Folder A
     + Sub Folder A
     + Sub Folder B
       + Sub Folder B1
       + Sub Folder B2
   + Sub Folder C

新しい場所へ
C:\いくつかの新しいフォルダ
   +フォルダA
     +サブフォルダA
など...など。

4

2 に答える 2

1

同じファイルを作成したいが、同じ構造内のコンテンツは作成したくないということですか。

このようなものが機能する可能性があります:

public static TotallyNotRecursiveAndCreateDirs(string root, string newRoot)
    {
        DirectoryInfo rootDir = new DirectoryInfo(Path.GetPathRoot(root)); 
        DirectoryInfo[] dirs = rootDir.GetDirectories("*", SearchOption.AllDirectories);

        foreach(DirectoryInfo dir in dirs)
        {
            Directory.CreateDirectory(dir.FullName.Replace(root, newRoot));
            FileInfo[] files = dir.GetFiles("*.*", SearchOption.TopDirectoryOnly);
            foreach(FileInfo file in files)
            {
                File.Create(file.FullName.Replace(root, newRoot));
            }
        }
    }

また、rootおよびnewRootパラメーターが有効であることを確認するためにいくつかの例外チェックを実行することもできます(つまり、rootedなど)。

ファイルとディレクトリだけが必要ない場合は、2番目のループを削除してください。

于 2012-06-11T20:14:30.237 に答える
1

でフォルダ構造をコピーするsrcにはdest

  1. 作成しますdest
  2. (オプション)destに一致する権限をオンに設定しsrcます。
  3. のフォルダごとnameに、のフォルダ構造をにsrcコピーします。src\namedest\name
于 2012-06-11T20:15:12.620 に答える