static void Main(string[] args) { var config = Args.Configuration.Configure <FileOp>(); var help = new Args.Help.HelpProvider(); var helpDoc = help.GenerateModelHelp(config); Console.WriteLine(helpDoc.HelpText); foreach (var h in helpDoc.Members) { Console.WriteLine(h.HelpText); } var fileOp = config.CreateAndBind(args); if (fileOp.Action == null) { Console.WriteLine("action is null"); return; } var method = fileOp.GetType().GetMethod(fileOp.Action); if (method == null) { Console.WriteLine("action not find"); return; } method.Invoke(fileOp, null); //new FileMoveJoin(@"D:\mydisk320\avi\雾岛\mp4", "*.mp4", @"E:\file\名人\雾岛", "*.avi").Run(); }
private static void ShowHelp(IModelBindingDefinition <ConversionOrder> argsDefinition) { var help = new Args.Help.HelpProvider().GenerateModelHelp(argsDefinition); var f = new ConsoleHelpFormatter(80, 1, 5); Console.WriteLine(f.GetHelp(help)); }
public static void WriteHelp(TextWriter outStream, string commandName) { var definition = Args.Configuration.Configure <HockeyApp.AppLoader.Model.CommandLineArgs>(); var formatter = new ConsoleHelpFormatterCustom(80, 1, 5, commandName); var help = new Args.Help.HelpProvider().GenerateModelHelp(definition); formatter.WriteHelp(help, outStream); }
static void Main(string[] cmdline) { // Parse commandline into Arguments var argsModelDef = Args.Configuration.Configure <Arguments>(); Arguments args = new Arguments(); try { Args.Configuration.Configure <Arguments>().BindModel(args, cmdline); } catch (Exception) { args.Help = true; } // Write help message if (args.Help == true) { var modelHelp = new Args.Help.HelpProvider().GenerateModelHelp(argsModelDef); new Args.Help.Formatters.ConsoleHelpFormatter().WriteHelp(modelHelp, Console.Out); return; } // Setup and run client using (WindsorContainer container = new WindsorContainer()) { Logger.Configure(x => x.UseNLogLogger()); container.AddFacility <LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog)); switch (args.Transport.ToLowerInvariant()) { case "wcf": container.Install(new WcfClientInstaller()); break; case "masstransit": container.Install(new MasstransitClientInstaller()); break; default: Console.WriteLine("Supported transports are Wcf and Masstransit"); return; } container.Register( Component.For <IAssemblyRepository>().Named("Caching").ImplementedBy <CachingAssemblyRepository>().LifestyleSingleton() .DependsOn(new { TTL = TimeSpan.FromSeconds(args.TTL) }), Component.For <Client>().ImplementedBy <Client>().LifestyleTransient() .DependsOn(args.Caching ? ServiceOverride.ForKey <IAssemblyRepository>().Eq("Caching") : null) ); Client client = container.Resolve <Client>(); client.Run(); } }
/// <summary> /// Parses the command line arguments into /// </summary> /// <param name="args">Array of command line arguments.</param> /// <returns>A set of options.</returns> private static Options ParseArguments(string[] args) { var optionModel = Args.Configuration.Configure <Options>(); var options = optionModel.CreateAndBind(args); if (options.Help) { var help = new Args.Help.HelpProvider().GenerateModelHelp(optionModel); var formatter = new ConsoleHelpFormatter(); Console.WriteLine(formatter.GetHelp(help)); } return(options); }
static void Main(string[] args) { try { var definition = Args.Configuration.Configure <CommandObject>(); var command = definition.CreateAndBind(args); if (command.Help != null) { var help = new Args.Help.HelpProvider().GenerateModelHelp(definition); var f = new ConsoleHelpFormatter(80, 1, 5); Console.WriteLine(f.GetHelp(help)); return; } Console.WriteLine($"正在生成..."); Console.WriteLine($"目标文件夹:{command.TargetFolder}"); Console.WriteLine($"秘钥:{command.SecretKey}"); Console.WriteLine($"忽略文件:{ ((command.Ignore == null || command.Ignore.Count == 0) ? "无" : string.Join(", ", command.Ignore))}"); VersionService versionService = new VersionService(command.SecretKey); if (command.Ignore == null) { command.Ignore = new List <string>(2); } command.Ignore.Add(Path.GetFileNameWithoutExtension(typeof(Program).Assembly.Location)); command.Ignore.Add(versionFileName); command.Ignore.Add("Zl.AutoUpgrade.Core"); PackageVersionInfo info = versionService.ComputeVersionInfo(command.TargetFolder, command.Ignore.ToArray()); XmlSerializer.SaveToFile(info, System.IO.Path.Combine(command.TargetFolder, versionFileName)); Console.WriteLine($"生成完毕."); } catch (Exception exc) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(exc); Console.ResetColor(); } }
public string GetHelp(Type parameterType) { var sb = new StringBuilder(); if (parameterType == null) { sb.AppendLine(); sb.AppendLine("No Options."); } else { var provider = new Args.Help.HelpProvider(); var bindingDefinition = _argsHelper.GetArgsModelBindingDefinitionForType(parameterType); var modelhelp = provider.GenerateModelHelp(bindingDefinition); var helpFormatter = new Args.Help.Formatters.ConsoleHelpFormatter(80, 1, 5); using (var writer = new StringWriter(sb)) { helpFormatter.WriteHelp(modelhelp, writer); writer.Close(); } } return sb.ToString(); }
/// <summary> /// Parses the command line arguments into /// </summary> /// <param name="args">Array of command line arguments.</param> /// <returns>A set of options.</returns> private static Options ParseArguments(string[] args) { var optionModel = Args.Configuration.Configure<Options>(); var options = optionModel.CreateAndBind(args); if (options.Help) { var help = new Args.Help.HelpProvider().GenerateModelHelp(optionModel); var formatter = new ConsoleHelpFormatter(); Console.WriteLine(formatter.GetHelp(help)); } return options; }
static void Main(string[] cmdline) { // Parse commandline into Arguments var argsModelDef = Args.Configuration.Configure<Arguments>(); Arguments args = new Arguments(); try { Args.Configuration.Configure<Arguments>().BindModel(args, cmdline); } catch (Exception) { args.Help = true; } // Write help message if (args.Help == true) { var modelHelp = new Args.Help.HelpProvider().GenerateModelHelp(argsModelDef); new Args.Help.Formatters.ConsoleHelpFormatter().WriteHelp(modelHelp, Console.Out); return; } // Setup and run client using (WindsorContainer container = new WindsorContainer()) { Logger.Configure(x => x.UseNLogLogger()); container.AddFacility<LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog)); switch (args.Transport.ToLowerInvariant()) { case "wcf": container.Install(new WcfClientInstaller()); break; case "masstransit": container.Install(new MasstransitClientInstaller()); break; default: Console.WriteLine("Supported transports are Wcf and Masstransit"); return; } container.Register( Component.For<IAssemblyRepository>().Named("Caching").ImplementedBy<CachingAssemblyRepository>().LifestyleSingleton() .DependsOn(new { TTL = TimeSpan.FromSeconds(args.TTL) }), Component.For<Client>().ImplementedBy<Client>().LifestyleTransient() .DependsOn(args.Caching ? ServiceOverride.ForKey<IAssemblyRepository>().Eq("Caching") : null) ); Client client = container.Resolve<Client>(); client.Run(); } }
private static void ShowHelp(IModelBindingDefinition<ConversionOrder> argsDefinition) { var help = new Args.Help.HelpProvider().GenerateModelHelp(argsDefinition); var f = new ConsoleHelpFormatter(80, 1, 5); Console.WriteLine(f.GetHelp(help)); }
public static void Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); var kernel = CreateKernel(); var loggerFactory = kernel.Get <ILoggerFactory>(); var logger = loggerFactory.GetCurrentClassLogger(); try { var command = Args.Configuration.Configure <Command>().CreateAndBind(args); if (command.Action.Equals(CommandOption.None)) { var definition = Args.Configuration.Configure <Command>(); var help = new Args.Help.HelpProvider().GenerateModelHelp(definition); var formatter = new ConsoleHelpFormatter(80, 1, 5); Console.WriteLine(formatter.GetHelp(help)); } else if (command.Action.Equals(CommandOption.Test)) { Console.WriteLine("For testing purposes!!!"); } else if (command.Action.Equals(CommandOption.CheckStatus)) { if (String.IsNullOrEmpty(command.Directory)) { Console.WriteLine("Directory does not exist!"); return; } Console.WriteLine("Searching '{0}' ...", command.Directory); var subDirectoryList = Directory.GetDirectories(command.Directory) .Select(d => new DirectoryInfo(d)) .Where(d => !d.Name.Equals(SystemVolumeInformationFolder)) .Where(d => !d.Name.Equals(RecycleBinFolder)) .OrderBy(d => d.Name) .ToList(); if (!subDirectoryList.Any()) { Console.WriteLine("The directory is empty!"); return; } Console.WriteLine("Directories found: {0}", subDirectoryList.Count); Console.WriteLine(); foreach (var subDirectory in subDirectoryList) { Console.WriteLine("Searching '{0}' ...", subDirectory.Name); var files = Directory.GetFiles(subDirectory.FullName, FilePostfixPattern) .Select(f => new FileInfo(f)) .OrderBy(f => f.LastWriteTime) .ToList(); if (!files.Any()) { Console.WriteLine("To process files found: {0}.", files.Count); } else { Console.WriteLine("To process files found: {0}, between '{1}' & '{2}'.", files.Count, files.FirstOrDefault().LastWriteTime.ToString("yyyymmdd HH:MM:ss"), files.LastOrDefault().LastWriteTime.ToString("yyyymmdd HH:MM:ss")); } } } else if (command.Action.Equals(CommandOption.DropDatabase)) { if (String.IsNullOrEmpty(command.Server)) { Console.WriteLine("Server does not exist!"); return; } if (String.IsNullOrEmpty(command.Database)) { Console.WriteLine("Database does not exist!"); return; } var databaseManager = new DatabaseManager(command.Server); databaseManager.DropDatabase(command.Database); } else if (command.Action.Equals(CommandOption.RestoreDatabase)) { if (String.IsNullOrEmpty(command.Server)) { Console.WriteLine("Server does not exist!"); return; } if (String.IsNullOrEmpty(command.Database)) { Console.WriteLine("Database does not exist!"); return; } if (String.IsNullOrEmpty(command.DatabaseBackupFile)) { Console.WriteLine("Database backup file does not exist!"); return; } var databaseRestoreSettings = new DatabaseRestoreSettings { DatabaseName = command.Database, BackupFilePath = command.DatabaseBackupFile, }; var databaseManager = new DatabaseManager(command.Server); databaseManager.RestoreDatabase(databaseRestoreSettings); } else { Console.WriteLine("Command cannot be found!"); Console.WriteLine(); } } catch (Exception ex) { logger.Error(ex.Message); Console.WriteLine("----> EXCEPTION: {0} <----", ex.Message); throw; } }
public static void WriteHelp(TextWriter outStream, string commandName) { var definition = Args.Configuration.Configure<HockeyApp.AppLoader.Model.CommandLineArgs>(); var formatter = new ConsoleHelpFormatterCustom(80, 1, 5, commandName); var help = new Args.Help.HelpProvider().GenerateModelHelp(definition); formatter.WriteHelp(help, outStream); }