Ejemplo n.º 1
0
        public string Build(IRenderPanel source,
                            Preset?preset,
                            IList <string> files,
                            string OutputDirectory,
                            string ffmpeg,
                            FileHandlingMode fileHandlingMode)
        {
            StringBuilder results         = new StringBuilder();
            List <string> presetArgValues = ProcessPreset(ffmpeg, source, preset);


            foreach (var file in files)
            {
                var outname = Path.Combine(OutputDirectory, Path.GetFileName(file));
                outname = Path.ChangeExtension(outname, preset?.TargetExtension ?? string.Empty);

                var line = RenderSingleFile(presetArgValues.ToArray(), file, outname);
                WrapInAction(results, line, outname, fileHandlingMode);
            }

            return(results.ToString());
        }
Ejemplo n.º 2
0
        private void WrapInAction(StringBuilder results, string command, string file, FileHandlingMode fileHandlingMode)
        {
            results.Append($"if (Test-Path \"{file}\" -PathType Leaf)");
            results.Append(" {\r\n");
            switch (fileHandlingMode)
            {
            case FileHandlingMode.DeleteIfExists:
                results.AppendFormat("\tRemove-Item \"{0}\"", file);
                break;

            case FileHandlingMode.RenameIfExists:
                RenameIfExists(results, file);
                break;

            case FileHandlingMode.OwerwriteNotify:
                results.AppendFormat("\techo \"File {0} exists and will be owerwitten.\"\r\n", file);
                results.AppendLine("\tRead-Host -Prompt \"Press any key to continue\"");
                results.AppendFormat("\tRemove-Item \"{0}\"", file);
                break;
            }
            results.Append("}\r\n");
            results.AppendLine(command);
        }