開發一款提高效率工作的命令列程式

華hhh發表於2023-05-03

開發工作中我們常用到"時間戳和時間"、"生成guid"、"模擬身份證號",來模擬資料校驗和顯示;每一次都去找線上工具,確實可以,但我覺得挺麻煩,於是乎想到了自定義一個命令列。

目前我已經實現以下功能:

Usage:  [options]

Options:
  -?|-about  Show help information.
  -ts-now     當前時間戳
  -ts        轉換為時間戳
  -t-now     當前時間
  -t        轉換為時間
  -clear     清空
  -echo      列印C#程式碼結果
  -exit      退出
  -guid-l     生成小寫Guid
  -guid-u     生成大寫Guid
  -snow      生成雪花id
  -id-no     隨機身份證號

具體怎樣實現呢?

  1. 建立控制檯應用並安裝nuget包

McMaster.Extensions.CommandLineUtils

dotnet add package McMaster.Extensions.CommandLineUtils --version 4.0.2

NuGet\Install-Package McMaster.Extensions.CommandLineUtils -Version 4.0.2
2. 建立命令

var app = new CommandLineApplication();

app.HelpOption("-?|-h|-help|-about");
var tsNow = app.Option("-ts-now", "當前時間戳", CommandOptionType.NoValue);
  1. 執行命令,ExecuteUtils.Ts()為自定義方法
app.OnExecute(() =>
{
    if (tsNow.HasValue()) Console.WriteLine(ExecuteUtils.Ts());
}

以上就可以透過命令列引數執行相應程式碼了
參考官網:https://natemcmaster.github.io/CommandLineUtils/index.html

相關文章