0

私は app で C#.net コンソール アプリケーションに取り組んでいます。2 つのフォルダーがあります1)D:\Working Projects\Alticore\AssetXML\LIS, 2)D:\Working Projects\Alticore\AssetXMLProcessed

今、私はサブフォルダ(すなわちLIS)だけをコピーしたいD:\Working Projects\Alticore\AssetXML\LIS to D:\Working Projects\Alticore\AssetXMLProcessed.

それがこのようなxacltyです"D:\Working Projects\Alticore\AssetXMLProcessed/LIS"

この問題の解決策をいただければ幸いです。

4

3 に答える 3

0


System.IO 名前空間に File.Copy(src, dest) メソッドがあり、それを使用することもできます。

于 2013-09-13T07:28:59.013 に答える
0

これは仕事をするはずです

public static void Copy(String srcPath, String destPath)
{
    DirectoryInfo srcDirectory = new DirectoryInfo(srcPath);
    if (!srcDirectory.Exists) return;

    // Creates LIS directory
    destPath = Path.Combine(Path.Combine(destPath, srcDirectory.Name));
    Directory.CreateDirectory(destPath);

    // Creates all sub directories from srcPath to your destPath
    foreach (String dirPath in Directory.GetDirectories(srcPath, "*", SearchOption.AllDirectories))
        Directory.CreateDirectory(dirPath.Replace(srcPath, destPath));

    // Copies all files from all sub directories from srcPath to your destPath
    foreach (String copyPath in Directory.GetFiles(srcPath, "*.*", SearchOption.AllDirectories))
        File.Copy(copyPath, copyPath.Replace(srcPath, destPath), true);
}

使用法:

Copy(@"D:\Working Projects\Alticore\AssetXML\LIS", @"D:\Working Projects\Alticore\AssetXMLProcessed")

サブフォルダーまたはそのファイルをコピーしたくない場合は、不要な foreach を削除します。ちなみに、コピーされたファイルを上書きします。

于 2013-09-13T07:21:46.497 に答える