濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > .NET命令行解析器示例程序(命令行選項(xiàng)功能)

.NET命令行解析器示例程序(命令行選項(xiàng)功能)

熱門標(biāo)簽:福州人工智能電銷機(jī)器人加盟 宿遷智能外呼系統(tǒng)排名 廣州銷售外呼系統(tǒng)定制 ai電銷機(jī)器人對(duì)貸款有幫助嗎 怎樣給陜西地圖標(biāo)注顏色 地圖標(biāo)注多少錢一張 云狐人工智能電話機(jī)器人 400電話辦理信任翰諾科技 電銷機(jī)器人 數(shù)據(jù)

示例需求

拷貝文件,如:CopyFiles -s "E:\Framework\Tenoner - 副本 (2)" -p "*.csproj" -t "E:\Framework\Tenoner - 副本 (2)\Bak",可以支持:深度拷貝、拷貝符合指定模式的文件、是否覆蓋等選項(xiàng)。

使用 CommandLineParser
CommandLineParser 是一個(gè)輕量級(jí)的工具,使用非常簡(jiǎn)答,官方也有教程。

選項(xiàng)類

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using CommandLine;
using CommandLine.Text;

namespace CopyFiles
{
    class Options
    {
        [Option(
            's', "source", Required = true,
            HelpText = "源目錄。")]
        public string SourcePath { get; set; }

        [Option(
            'p', "pattern", Required = true,
            HelpText = "文件模式。")]
        public string SearchPattern { get; set; }

        [Option(
            't', "target", Required = true,
            HelpText = "目標(biāo)目錄。")]
        public string TargetPath { get; set; }

        [Option('a', "all", DefaultValue = true,
            HelpText = "是否包含所有目錄?")]
        public bool AllDirectories { get; set; }

        [Option('o', "overwrite", DefaultValue = true,
            HelpText = "是否覆蓋所有文件?")]
        public bool Overwrite { get; set; }

        [Option('v', "verbose", DefaultValue = true,
            HelpText = "是否打印消息?")]
        public bool Verbose { get; set; }

        [HelpOption]
        public string GetUsage()
        {
            return HelpText.AutoBuild(this);
        }

        public void WriteLine(string format, params object[] args)
        {
            if (this.Verbose)
            {
                Console.WriteLine(string.Format(format, args));
            }
        }
    }
}

工具類

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using CommandLine;
using Happy.Utils;

namespace CopyFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new Options();
            if (Parser.Default.ParseArguments(args, options))
            {
                FileUtil.Copy(
                    options.SourcePath,
                    options.SearchPattern,
                    options.TargetPath,
                    (sourceFile, targetFile) =>
                    {
                        options.WriteLine("拷貝文件:{0} 到 {1}", sourceFile, targetFile);
                    },
                    (exceptionInfo) =>
                    {
                        options.WriteLine(exceptionInfo.Exception.Message);

                        exceptionInfo.ExceptionHandled = true;
                    },
                    options.AllDirectories,
                    options.Overwrite);
            }
        }
    }
}



標(biāo)簽:宜春 大興安嶺 綿陽 焦作 曲靖 延安 新疆 黃南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.NET命令行解析器示例程序(命令行選項(xiàng)功能)》,本文關(guān)鍵詞  .NET,命令行,解析,器,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.NET命令行解析器示例程序(命令行選項(xiàng)功能)》相關(guān)的同類信息!
  • 本頁收集關(guān)于.NET命令行解析器示例程序(命令行選項(xiàng)功能)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    安图县| 蕉岭县| 恩平市| 吐鲁番市| 安庆市| 汾阳市| 拉萨市| 巴青县| 黄梅县| 方山县| 独山县| 固始县| 鲁甸县| 石柱| 濮阳县| 连山| 云和县| 富宁县| 融水| 太原市| 全椒县| 会东县| 丘北县| 施秉县| 荔波县| 涪陵区| 百色市| 府谷县| 固原市| 木里| 综艺| 白河县| 巧家县| 博爱县| 塔城市| 平顶山市| 扶沟县| 榆中县| 榆社县| 太仓市| 绥化市|