0

Beginner: Here is my code:

using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;   

public void MoveFiles(string sourcePath, string destinationPath)
    {
        string[] files = Directory.GetFiles(sourcePath);
        Parallel.ForEach(files, file =>
        {
                if ("HOW TO CODE: If the sourceFiles exist in destFolder")
                {
                    File.Move(file, Path.Combine(destinationPath, Path.GetFileName(file)));
                }
        });
    }

I get an error if the source files exist in destination folder. How can I correct that and is there a better way to do that?

Emre
  • 144
  • 2
  • 17

1 Answers1

2

File has the static methods Delete and Exists you can use for that very case

if(File.Exists(file))
{
    if(File.Exists(destinationFile))
    {
        File.Delete(destinationFile);
    }
    File.Move(file, destinationFile);
}

I've used destinationFile to avoid redundancy.

Paul Kertscher
  • 9,416
  • 5
  • 32
  • 57