Kopier flere filer på en gang / efter hinande - fileSystemWatcher
Hey experter.Så jeg har kastet mig over et projekt, hvor jeg via fileSystemWatcher holder øje med en mappe, iden er at kopier nye filder der kommer ind i mappen over i en anden (en backup sikring), min kode virker glimerende når der kommer EN ny fil i mappen, men laver jeg flere på en gang får den stress og går ned.
Hvordan kopier jeg flere filer på en gang? eller nærmere efter hinanden?
Bliver jeg nød til at lave en buffer eller noget? og hvordan gør jeg det?
Min kode hvis det skulle være nødvendig:
string path1;
private void button1_Click(object sender, EventArgs e)
{
// make a new folderbrowser
FolderBrowserDialog folderFrom = new FolderBrowserDialog();
// Tjek if the dialog endet with a OK, and set the path.
if (folderFrom.ShowDialog() == DialogResult.OK)
{
//MessageBox.Show(folderFrom.SelectedPath.ToString());
textBox1.Text = folderFrom.SelectedPath.ToString();
// set the filesystemwacher to keep en eye on the folder that we select.
fileSystemWatcher1.Path = folderFrom.SelectedPath.ToString();
}
}
// Sets the folder up where we want to move our files to, it works the same way as the "from folder"
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderTo = new FolderBrowserDialog();
if (folderTo.ShowDialog() == DialogResult.OK)
{
//MessageBox.Show(folderTo.SelectedPath.ToString());
textBox2.Text = folderTo.SelectedPath.ToString();
}
}
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
// Make a string with the compleat adress for our "copy to folder".
path1 = textBox2.Text + "\\" + e.Name + ".txt";
// Outputs whats found to logBox.
logBox.Text += "\nFound a new file: " + e.Name;
// Tjeks that there is a path to copy to.
if (textBox2.Text != null)
{
File.Copy(e.FullPath.ToString(), path1, false);
if (File.Exists(path1))
{
logBox.Text += "\nCopy done";
}
else
{
MessageBox.Show("Something went worng!");
}
}
}
