濮阳杆衣贸易有限公司

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

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

熱門(mén)標(biāo)簽:福州人工智能電銷(xiāo)機(jī)器人加盟 宿遷智能外呼系統(tǒng)排名 廣州銷(xiāo)售外呼系統(tǒng)定制 ai電銷(xiāo)機(jī)器人對(duì)貸款有幫助嗎 怎樣給陜西地圖標(biāo)注顏色 地圖標(biāo)注多少錢(qián)一張 云狐人工智能電話機(jī)器人 400電話辦理信任翰諾科技 電銷(xiāo)機(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)類(lèi)

復(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));
            }
        }
    }
}

工具類(lèi)

復(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)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.NET命令行解析器示例程序(命令行選項(xiàng)功能)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于.NET命令行解析器示例程序(命令行選項(xiàng)功能)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    江北区| 额敏县| 论坛| 竹溪县| 广南县| 文昌市| 邵武市| 高碑店市| 环江| 香河县| 雷州市| 湛江市| 九台市| 六枝特区| 垣曲县| 明溪县| 自贡市| 岢岚县| 河北区| 全南县| 阜南县| 凤山县| 富民县| 宾阳县| 连州市| 柯坪县| 琼结县| 鄯善县| 尚义县| 清镇市| 广元市| 常宁市| 黄浦区| 临漳县| 璧山县| 张家界市| 交城县| 陆河县| 淳化县| 邢台市| 青冈县|