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;
                        }
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            // string category = "K-Drama"; //args[4];

               string folderPath = args[0]; //Get showPath from first CMD Line Argument
               string postprocessStatus = args[6];
               MatchSubs m = new MatchSubs();

               if (postprocessStatus != "0")
               {
               Console.WriteLine("Unpacking failed: Post Processing aborted");
               return;
               }

               string[] videoExt = _videoExt.ToString().Split(new char[] {';'});

            string showName = null;
            string[] titleSplitX = null;
            string patternX = @"^(.+)\.E([0-9]+).*$";

            int filesProcessed = 0;

            foreach (string ext in videoExt)
            {
                var matchingFiles = Directory.GetFiles(folderPath, "*" + ext);

                foreach (var file in matchingFiles)
                {
                    string filename = Path.GetFileName(file);
                    string sourceFilePath = Path.GetFullPath(file);

                    Match titleMatchX = Regex.Match(filename, patternX);
                    if (titleMatchX.Success)
                    {
                        titleSplitX = Regex.Split(filename, patternX);
                        showName = titleSplitX[1].TrimEnd('.', ' ', '-', '_');
                        showName = showName.Replace('.', ' ').Trim();
                        string targetFolder =  Path.Combine(_kdramaFolder, showName);

                        if (!Directory.Exists(targetFolder))
                        {
                            Directory.CreateDirectory(targetFolder);

                        }

                        if (File.Exists(Path.Combine(targetFolder,filename)))
                        {
                             m.Log("ERROR " + DateTime.Now.ToString()  + " - Target file exists " + filename + " in " + targetFolder);
                        }
                        else
                        {
                             File.Move(sourceFilePath, Path.Combine(targetFolder,filename));
                             m.Log("INFO " + DateTime.Now.ToString() + " - Moved " + filename + " to " + targetFolder);

                             if (ext != ".srt")
                             {
                                 m.renameSubfile(targetFolder);
                                 Tweet("Drama: " + filename);
                             }
                            }
                    }
                    else
                    {
                        m.Log("ERROR " + DateTime.Now.ToString()   + " - Unable to parse filename: " + filename);

                    }

                    filesProcessed += 1;
                }

            }

            if (filesProcessed == 0)
            {
                m.Log("ERROR " + DateTime.Now.ToString() + " - No Files Processed: " + folderPath);

            }
        }