手机版

网命令行解析器示例程序(命令行选项功能)

时间:2021-11-13 来源:互联网 编辑:宝哥软件园 浏览:

示例需求拷贝文件,如:复制文件-s ' e : \ Framework \ Tenoner-副本(2)' -p '* .csproj '-t ' e : \ Framework \ Tenoner-副本(2)\Bak ',可以支持:深度拷贝、拷贝符合指定模式的文件、是否覆盖等选项。使用CommandLineParserCommandLineParser是一个轻量级的工具,使用非常简答,官方也有教程。选项类复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统。文字;使用系统。线程化。任务;使用命令行;使用命令行。文字;命名空间副本文件{类选项{[选项(“s”,“源”),必选=真,帮助文本='源目录)]公共字符串SourcePath { get设置;}[选项(' p ','模式,必选=真,帮助文本='文件模式)]公共字符串SearchPattern { get设置;}[选项(' t ','目标',必选=真,帮助文本='目标目录)]公共字符串TargetPath { get设置;}[选项(' a ',' all ',DefaultValue=true,HelpText='是否包含所有目录?)]public bool all目录{ get设置;}[选项(' o ','覆盖,默认值=真,帮助文本='是否覆盖所有文件?')]公共弯曲件覆盖{获取设置;}[选项(“v”,“verbose”,DefaultValue=true,HelpText=)是否打印消息?)]public bool Verbose { get;设置;}[帮助选项]公共字符串GetUsage(){ 0返回帮助文本.自动构建(这个);} public void WriteLine(字符串格式,params object[] args) { if (this .详细){控制台WriteLine(字符串。格式(格式,参数));} } }}工具类复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统。文字;使用系统。线程化。任务;使用命令行;使用快乐Utils .命名空间复制文件{ class Program { static void Main(string[]args){ var Options=new Options();if (Parser .默认。ParseArguments(args,options)) { FileUtil .复制(选项SourcePath,选项。搜索模式,选项。目标路径,(源文件,目标文件)={选项WriteLine(“”拷贝文件:{0} 到"{1}"、源文件、目标文件);},(exceptionInfo)={ options .写线(异常信息。异常。消息);例外信息. ExceptionHandled=true},选项。所有目录,选项。覆盖);} } } } }

版权声明:网命令行解析器示例程序(命令行选项功能)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。