using Azylee.Core.DataUtils.CollectionUtils; using Azylee.Core.DataUtils.StringUtils; using Azylee.Core.IOUtils.DirUtils; using Azylee.Core.ProcessUtils; using System; using System.Collections.Generic; using System.IO; namespace Azylee.ExeLaunch { public class Launch { /// /// 启动最新版本程序 /// /// /// /// public static bool Run(string appPath, string startfilename) { if (Directory.Exists(appPath)) { //获取运行目录下所有文件 List paths = DirTool.GetPath(appPath); if (ListTool.HasElements(paths)) { //解析属于版本号的文件 Version version = null; string startfile = null; foreach (var path in paths) { //只解析文件名带三个点的文件夹 string filename = Path.GetFileName(path); if (StringTool.SubStringCount(filename, ".") == 3) { try { Version tempVersion = new Version(filename); string tempFile = DirTool.Combine(path, startfilename); if ((version == null || tempVersion > version) && File.Exists(tempFile)) { version = tempVersion; startfile = tempFile; } } catch { } } } //准备启动 if (startfile != null) { return ProcessTool.Start(startfile); } } } return false; } } }