public static void Process(string[] args) { string dir; if (args.Length > 1) { dir = args[1]; // addtopath xxx if (!Path.IsPathRooted(dir)) { //相对路径 dir = Path.Combine(System.Environment.CurrentDirectory, dir); } } else { dir = System.Environment.CurrentDirectory; } var path = System.Environment.GetEnvironmentVariable("path", EnvironmentVariableTarget.Machine); if (path.Contains(dir)) { path = path.Replace(dir, "").Replace(";;", ";").TrimEnd(';'); System.Environment.SetEnvironmentVariable("path", path, EnvironmentVariableTarget.Machine); ConsoleX.Success("已成功将 {0} 从path环境变量去除", System.Environment.CurrentDirectory); } else { ConsoleX.Warn("当前目录不在path环境变量中..."); } }
public static void Process(string[] args) { string exe = ""; if (args.Length > 1) //pm [bat a.exe] { exe = args[1]; } else { var exes = System.IO.Directory.GetFiles(System.Environment.CurrentDirectory, "*.exe"); if (exes.Length < 1) { ConsoleX.Error("没有exe文件..."); return; } else if (exes.Length > 1) { ConsoleX.Warn("exe文件超过两个,取第一个..."); } if (!string.IsNullOrWhiteSpace(exes[0])) { exe = exes[0]; } } exe = Path.Combine(System.Environment.CurrentDirectory, exe); var name = System.IO.Path.GetFileNameWithoutExtension(exe); var content = String.Format("@\"{0}\" %*", exe); var ext = ".cmd"; if (args[0] == "bat") { ext = ".bat"; } var dest = AppDomain.CurrentDomain.BaseDirectory + name + ext; System.IO.File.WriteAllText(dest, content); Console.WriteLine("已为{0}.exe创建.cmd文件:{1}", name, dest); }