校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > .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)簽:宜春 大興安嶺 綿陽(yáng) 焦作 曲靖 延安 新疆 黃南

巨人網(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)的同類信息!
  • 本頁(yè)收集關(guān)于.NET命令行解析器示例程序(命令行選項(xiàng)功能)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 砀山县| 鹤岗市| 石首市| 永昌县| 无锡市| 阜新市| 莫力| 麦盖提县| 桐梓县| 青河县| 洪雅县| 米泉市| 略阳县| 阳春市| 株洲市| 长兴县| 武威市| 长海县| 永泰县| 临夏县| 阆中市| 淮北市| 达日县| 区。| 凤翔县| 衡水市| 青田县| 蚌埠市| 河北区| 邻水| 临颍县| 新化县| 乳山市| 遂川县| 深泽县| 建阳市| 项城市| 文水县| 铜鼓县| 安阳市| 绥宁县|