Jak skopiować folder oraz wszystkie podfoldery i pliki in.NET? [duplikat]
Możliwy duplikat:
najlepszy sposób na skopiowanie całej zawartości katalogu w C #
Chciałbym skopiować folder ze wszystkimi jego podfolderami i plikami z jednej lokalizacji do drugiej w .NET. jaki jest najlepszy sposób na to?
Widzę metodę kopiowania w klasie System. IO. File, ale zastanawiałem się, czy istnieje łatwiejszy, lepszy lub szybszy sposób niż indeksowanie drzewa katalogów.
29
3 answers
No i jest VisualBasic.implementacja dll, do której odwołuje się Steve, a oto coś, czego użyłem.
private static void CopyDirectory(string sourcePath, string destPath)
{
if (!Directory.Exists(destPath))
{
Directory.CreateDirectory(destPath);
}
foreach (string file in Directory.GetFiles(sourcePath))
{
string dest = Path.Combine(destPath, Path.GetFileName(file));
File.Copy(file, dest);
}
foreach (string folder in Directory.GetDirectories(sourcePath))
{
string dest = Path.Combine(destPath, Path.GetFileName(folder));
CopyDirectory(folder, dest);
}
}
49
Author: Michael Petrotta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-01 00:42:10
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-01 00:42:10
Michał Talaga w swoim poście pisze:
- Wyjaśnienie Microsoftu o tym, dlaczego nie powinno być katalogu.Operacja Copy () w .NET.
- implementacja CopyDirectory () od Microsoftu.VisualBasic.zespół dll.
Jednak rekurencyjna implementacja oparta na File.Copy()
i Directory.CreateDirectory()
powinna wystarczyć dla najbardziej podstawowych potrzeb.
12
Author: Steve Guidi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-30 01:31:26
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-30 01:31:26
Jeśli nie dostaniesz nic lepszego... może użyj Process.Start
, aby odpalić robocopy.exe
?
2
Author: Marc Gravell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 23:54:00
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 23:54:00