using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DirectoryCopy {
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e) {
tSource.Text = @"c:\test1";
tDest.Text = @"c:\test2";
}
private void bnStart_Click(object sender, RoutedEventArgs e) {
String source = tSource.Text.Trim();
if (!source.EndsWith("\\"))
source += "\\";
String dest = tDest.Text.Trim();
if (!dest.EndsWith("\\"))
dest += "\\";
grid.Cursor = Cursors.Wait;
CopyDirectory copy = new CopyDirectory(source, dest);
copy.StartCopyFiles();
grid.Cursor = Cursors.Arrow;
MessageBox.Show("The directories are copied", "Message", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace DirectoryCopy {
class CopyDirectory {
private String source;
private String dest;
public CopyDirectory(String source, String dest) {
if (source.EndsWith("\\"))
this.source = source;
else
this.source = source + "\\";
if (dest.EndsWith("\\"))
this.dest = dest;
else
this.dest = dest + "\\";
}
private void copyDirectory(String source, String dest) {
DirectoryInfo mainDir = new DirectoryInfo(source);
DirectoryInfo[] dirs = mainDir.GetDirectories();
FileInfo[] files = mainDir.GetFiles();
Directory.CreateDirectory(dest); // should create in deleteKataster
// copy source\*.* nach dest\*.*
foreach (FileInfo file in files) {
File.Copy(file.FullName, dest + file.Name, true);
}
foreach (DirectoryInfo dir in dirs) {
copyDirectory(dir.FullName + "\\", dest + dir.Name + "\\");
}
} // copyDirectory
// setValue(i);
public void StartCopyFiles() {
DirectoryInfo mainDir = new DirectoryInfo(source);
DirectoryInfo[] dirs = mainDir.GetDirectories();
FileInfo[] files = mainDir.GetFiles();
Directory.CreateDirectory(dest); // should create in deleteKataster
// copy source\*.* nach dest\*.*
foreach (FileInfo file in files) {
File.Copy(file.FullName, dest + file.Name, true);
}
foreach (DirectoryInfo dir in dirs) {
copyDirectory(dir.FullName + "\\", dest + dir.Name + "\\");
}
} // StartCopyFiles
}
}