public void renameSubfile(string folderPath) { List<string> subFiles = new List<string>(); MatchSubs m = new MatchSubs(); var subFilesOnDisk = Directory.GetFiles(folderPath, "*.srt"); foreach (var file in subFilesOnDisk) { subFiles.Add(Path.GetFileName(file)); } string[] videoExt = _videoExt.ToString().Split(new char[] { ';' }); foreach (string ext in videoExt) { var matchingFiles = Directory.GetFiles(folderPath, "*" + ext); foreach (var file in matchingFiles) { string filename = Path.GetFileName(file); string targetSubFileName = filename.Replace(ext, ".srt"); if (subFiles.Contains(targetSubFileName)) { //m.Log("INFO " + DateTime.Now.ToString() + " - Subtitle: " + filename + " subfile already exists"); } else { string subFile = m.getSubFilePath(filename, subFiles); if (subFile != null) { m.Log("INFO " + DateTime.Now.ToString() + " - Subtitle Video: " + filename + " subfile matched: " + subFile); File.Move(Path.Combine(folderPath, subFile), Path.Combine(folderPath, targetSubFileName)); subFile = null; } } } } }