public Nintendo64_PostProcess(string DirectoryToProcess, char SpaceChar, bool MetaEnabled, bool RenamingEnabled, bool MovingEnabled, DatabaseConnector DBConnection) { MetaEnabled = true; RenamingEnabled = true; MovingEnabled = true; string[] FilesToProcess = System.IO.Directory.GetFiles(@DirectoryToProcess); Progress ProgressForm = new Progress(); ProgressForm.Show(); ProgressForm.Step = ProgressForm.CalculateStep(FilesToProcess.Length); foreach (string SingleFile in FilesToProcess) { ProgressForm.UpdateProcessingName = SingleFile; //Get the Directory including the file string FileDirectory = System.IO.Directory.GetParent(SingleFile).FullName; //Get the filename without the path string Filename = SingleFile.Replace(FileDirectory + "\\", ""); string Searchname = Filename; //Strip and Save the extension Regex FileExtensionRegex = new Regex("\\.(...)$"); string Extension = FileExtensionRegex.Match(Searchname).Value; Searchname = FileExtensionRegex.Replace(Searchname, ""); //Replace "SpaceChar" with actual spaces for our search Searchname = Searchname.Replace(SpaceChar, " ".ToCharArray()[0]); LogFacility.WriteToFile(4, "Title to search: " + Searchname, LogSource); //Initiate scraper Scraper.TheGamesDB InfoScraper = new Scraper.TheGamesDB(LogFacility); List<Game> Results = InfoScraper.Search(Searchname, "Nintendo 64"); //We will only take the first result, let's hope that it's the best one... if (Results != null) DBConnection.InsertGame(InfoScraper.GetGameByID(Results[0].scraper_gdb_id)); else LogFacility.WriteToFile(1, "Could not find an item for " + Searchname, LogSource); if (Results != null) { Filename = Results[0].Name.Replace(" ".ToCharArray()[0], SpaceChar); Filename += Extension; LogFacility.WriteToFile(4, "Resulted Filename: " + FileDirectory + "\\" + Filename, LogSource); if (RenamingEnabled && !MovingEnabled) System.IO.File.Move(SingleFile, FileDirectory + "\\" + Filename); if (MovingEnabled) System.IO.File.Move(SingleFile, FileDirectory + "\\" + Filename); } ProgressForm.UpdateProgressBar(); } ProgressForm.Close(); }