Is there a better way to search directories for a file or files?
static void Main(string[] args)
    {
        String mask = "*.txt";
        String source = @"c:\source\";
        String destination = @"c:\destination\";

        String[] files = Directory.GetFiles(source, mask, SearchOption.AllDirectories);
        foreach (String file in files)
        {
            File.Move(file, destination + new FileInfo(file).Name);
        }
    }


Add in your own directory exists verification logic... but this should be all you need at the core.  I haven't verified this code, but these built in functions should do what you want.