public static String Create(PathDirsConfig pathDirsConfig, String workingDir, CmdConfig cmdConfig)
            {
                var sb = new StringBuilder();

                if (cmdConfig.EchoOff)
                    sb.AppendLine("@echo off");

                sb.AppendLine(String.Format("title {0}", SanitiseTitle(cmdConfig.Title)));

                if (pathDirsConfig.Append)
                {
                    if (!String.IsNullOrWhiteSpace(pathDirsConfig.PathDirs))
                        sb.AppendLine(String.Format("set PATH=%PATH%;{0}", pathDirsConfig.PathDirs));
                }
                else
                    sb.AppendLine(String.Format("set PATH={0}", pathDirsConfig.PathDirs));

                var wd = workingDir.TrimEnd('\\');
                sb.AppendLine(IsDriveSpec(wd) ? wd : String.Format("cd /d \"{0}\"", wd));

                sb.AppendLine(cmdConfig.CommandText);

                if (cmdConfig.Pause)
                    sb.AppendLine("pause");

                return sb.ToString();
            }
 private static ToolStripMenuItem CreateCommandItem(PathDirsConfig pathDirsConfig, String workingDir, CmdConfig cmdConfig)
 {
     var batchFile = new CommanderBatchFile(pathDirsConfig, workingDir, cmdConfig);
     var handler = new CommanderEventHandler(batchFile);
     var cmdItem = new ToolStripMenuItem(cmdConfig.Title, Images.Cmd, handler.OnClick);
     return cmdItem;
 }
 public CommanderBatchFile(PathDirsConfig pathDirsConfig, String workingDir, CmdConfig cmdConfig)
 {
     _contents = Contents.Create(pathDirsConfig, workingDir, cmdConfig);
 }