Can some one give me a hint/example of copying a directory in a non-static environment? I tried to look it up but no such luck.
private void copybutton_Click(object sender, EventArgs e)
{
string selectedPath = comboBox1.SelectedItem.ToString();
copydirectories(@"C:\Mavro\MavBridge\" + selectedPath, @"C:\Mavro\MavBridge\" + selectedPath + " - Copy");
}
public void copydirectories()
{
try
{
string selectedPath = comboBox1.SelectedItem.ToString();
DirectoryInfo source = new DirectoryInfo(@"C:\Mavro\MavBridge\" + selectedPath);
DirectoryInfo target = new DirectoryInfo(@"C:\Mavro\MavBridge\" + selectedPath);
if (!source.Exists)
return;
if (!target.Exists)
target.Create();
DirectoryInfo[] sourceDirectories = source.GetDirectories();
for(int j = 0; j < sourceDirectories.Length; ++j)
{
copydirectories(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
}
datemodified.Refresh();
}
That got to takes 2 arguments error
Using the code at http://xneuron.wordpress.com/2007/04/12/copy-directory-and-its-content-to-another-directory-in-c/
public static void CopyAll(DirectoryInfo source, DirectoryInfo target) {
// Check if the target directory exists, if not, create it.
if (!Directory.Exists(target.FullName)) {
Directory.CreateDirectory(target.FullName);
}
// Copy each file into its new directory.
foreach (FileInfo fi in source.GetFiles()) {
Console.WriteLine(@”Copying {0}\{1}”, target.FullName, fi.Name);
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
}
// Copy each subdirectory using recursion.
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) {
DirectoryInfo nextTargetSubDir =
target.CreateSubdirectory(diSourceSubDir.Name);
CopyAll(diSourceSubDir, nextTargetSubDir);
}
}
makes it easy, just call it with
CopyAll(new DirectoryInfo(@"C:\Mavro\MavBridge\" + selectedPath),
new DirectoryInfo(@"C:\Mavro\MavBridge\" + selectedPath + " - Copy"));