0
RAMDiskを作成するクラス(クラスライブラリに基づく)を作成しています.X分ごとに、RAMDiskの内容をボラティリティのために物理的な場所にバックアップする必要があります。 CopyFileExを使用することを推奨しました。明らかに.NETファイルのコピー方法は機能しません。C#NET DirectoryCopy関数のVSS
CopyFileExを使用しようとしたときに、何らかの理由でInvalid Arguementsエラーが表示されます。私はまだこの関数で.NETメソッドの残りの部分を使うことができると仮定していますが、ちょっとした助けや修正をすることができます。
public static void CopyDirectoryVSS(string sourcePath, string targetPath)
{
// Check if the target directory exists, if not, create it.
if (Directory.Exists(targetPath) == false)
{
Directory.CreateDirectory(targetPath);
}
// Copy each file into it’s new directory.
foreach (string dir in Directory.GetDirectories(sourcePath))
{
foreach (string file in Directory.GetFiles(dir, "*.*"))
{
Console.WriteLine(@"Copying {0}\{1}", targetPath, file);
CopyFileEx(file, Path.Combine(target, file), null, 0, 0, 0);
}
}
// Copy each subdirectory using recursion.
DirectoryInfo sourceDir = new DirectoryInfo(@sourcePath);
DirectoryInfo TargetDir = new DirectoryInfo(targetPath);
foreach (DirectoryInfo diSourceSubDir in sourceDir.GetDirectories())
{
DirectoryInfo nextTargetSubDir = TargetDir.CreateSubdirectory(diSourceSubDir.Name);
CopyDirectory(diSourceSubDir, nextTargetSubDir);
}
}
をCopyFileEx引数としてファイルの。 – crlanglois