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); }