首先需要用到  CommandLine.dll

提供两个下载链接,云盘是我自己上传的,也就是我在用的

http://commandline.codeplex.com/

https://pan.baidu.com/s/1nX7hc_xrdGn2RjR-HuXnAQ

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

先创建Option类,这个类定义了一些可以接受的参数

using CommandLine;
using CommandLine.Text; namespace Commandline
{
class Options
{
/// <summary>
/// 前面的参数用-* 后面的用--***后面会说
/// </summary>
[Option('n', "writeNO", Required = false, HelpText = "Use this option to write a")]
public int Write_No { get; set; } [Option('a', "writeA", Required = false, HelpText = "Use this option to write b")]
public bool Write_A { get; set; } [Option('b', "writeB", Required = false, HelpText = "Use this option to write c")]
public bool Write_B { get; set; } [Option('c', "writeC", Required = false, HelpText = "Use this option to write d")]
public bool Write_C { get; set; } [Option('s', "writestr", Required = false, HelpText = "Use this option to write e")]
public string Write_str { get; set; } [ParserState]
public IParserState LastParserState { get; set; } private string _heading;
public Options()
{
this._heading = "V*o***S*nc";
}
[HelpOption]
public string GetUsage()
{
return HelpText.AutoBuild(this,
(HelpText current) =>
{
current.Heading = this._heading;
current.Copyright = new CopyrightInfo("S**pe I*t****l Team", );
HelpText.DefaultParsingErrorsHandler(this, current);
}); //return HelpText.AutoBuild(this,
//(HelpText current) =>
//HelpText.DefaultParsingErrorsHandler(this, current));
//这个就不要_heading了
}
}
}

在主函数中测试一下:

using System;

namespace Commandline
{
class Program
{
static void Main(string[] args)
{
var option = new Options();
try
{
if (CommandLine.Parser.Default.ParseArguments(args, option))
{
if (option.Write_No != )
{
Write(option.Write_No.ToString());
}
if (option.Write_A)
{
Write("A");
}
if (option.Write_B)
{
Write("B");
}
if (option.Write_C)
{
Write("C");
}
if (option.Write_str!=null)
{
Write(option.Write_str);
}
}
}
catch (Exception e)
{
throw;
}
Console.ReadKey();
} private static void Write(string str)
{
Console.WriteLine("Command Line tell me to write {0}", str);
}
}
}

现在开始调式:

以下面的参数为例

[Option('s', "writestr", Required = false, HelpText = "Use this option to write e")]
public string Write_str { get; set; }
参数填写 -s hello 或者 --writestr "hello"
前面的用-* 后面的参数用--*** 数字或者string可加“”也可不加
参数的先后顺序不影响程序的执行顺序,可对照下面的输出结果

在solution右击,添加如下参数

参数有误会出现:

上面的参数输出结果:

如果有涉及到对数据库的操作 在数据库中创建job  给出相应参数 来实现自动run

在Jobs上右击new一个job

填写相应的Name 和 Description

将所写程序的debug下的文件拷贝到数据库所在机器或者服务器并记录该路径

Step的操作按照下图进行操作:

制定一个计划来跑这个job,按照下图进行操作

Game Over

C# 借助CommandLine 写命令行工具 在数据库中创建job的更多相关文章

  1. Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  2. dotnet 使用 System.CommandLine 写命令行程序

    在写命令行程序的时候,会遇到命令行解析的问题,以及参数的使用和规范化等坑.现在社区开源了命令行项目,可以帮助小伙伴快速开发命令行程序,支持自动的命令行解析和规范的参数 我写过一篇关于命令行解析的博客C ...

  3. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  4. 如何用node编写命令行工具,附上一个ginit示例,并推荐好用的命令行工具

    原文 手把手教你写一个 Node.js CLI 强大的 Node.js 除了能写传统的 Web 应用,其实还有更广泛的用途.微服务.REST API.各种工具……甚至还能开发物联网和桌面应用.Java ...

  5. 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具

    用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具 前言 上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件.对呀,平时工作时,想要创建 ...

  6. x264源代码简单分析:x264命令行工具(x264.exe)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  7. react.js 之 create-react-app 命令行工具系统讲解

    react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...

  8. 命令行工具--curl

    目录 命令:curl 一.简介 二.使用案例 1.基本用法 2.保存访问的网页 3.测试网页返回值 4.指定proxy服务器以及其端口 5.cookie 6.模仿浏览器 7.伪造referer(盗链) ...

  9. HttpRepl 互操作的 RESTful HTTP 服务调试命令行工具

    今天早上曽根セイラ告诉我一个好用的工具 HttpRepl 这是一个可以在命令行里面对 RESTful 的 HTTP 服务进行路由跳转和访问的命令行工具.可以使用 cd 这个命令和像文件跳转已经跳转到下 ...

随机推荐

  1. java程序员,英语那点事

    本文选自<Java程序员,上班那点事儿>有时候如果应聘到了一个有外资背景的公司或者这个公司的很多人都有海外或外资工作背景时,你 也许还会用到一些日常工作交流时候的词汇.        比如 ...

  2. css选择器优先级排序

    浏览器默认属性 < 继承自父元素的属性 < 通配符选择器 < 标签选择器 < 类选择器 < 结构伪类选择器 < id选择器 < 行内样式 < !impo ...

  3. js 字符串 常用处理方式(检索、截取、拼接、批量替换)

    // 检索(字符串中判断是否包含某个字符) 字符串.search('检索的内容');// 返回-1,不包含: 返回非-1,包含 字符串.indexOf("待判断的内容"); // ...

  4. Intend之属性extra

    我们这次想要实现的功能是从A活动跳到B活动时,A活动中有一个输入框和一个按钮,当点击按钮是时会跳到B活动,然后把A活动中的输入框的内容传到B活动中,且在B活动中的TextView中显示 A活动中先添加 ...

  5. PromQL操作符

    PromQL操作符 使用PromQL除了能够方便的按照查询和过滤时间序列以外,PromQL还支持丰富的操作符,用户可以使用这些操作符对进一步的对事件序列进行二次加工.这些操作符包括:数学运算符,逻辑运 ...

  6. 图论初步2<蒟蒻专属,大佬勿喷>

    前言: 本节课讲的是图论的几种遍历方式,若没看图论初步1的赶紧去看 https://www.cnblogs.com/Craker/p/12271090.html 正文: 零.温故而知新 上节课我们学的 ...

  7. Derivative Pricing_2_Vasicek

    *Catalog 1. Plotting Vasicek Trajectories 2. CKLS Method for Parameter Estimation (elaborated by GMM ...

  8. 068、Java面向对象之声明两个对象

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 public ...

  9. 如何给谷歌浏览器安装vue-devtools插件

    感谢原作者:https://www.cnblogs.com/alice-fee/p/8038367.html 安装方法1: 需正常打开chrome商店,搜索vuejs devtools 安装.chro ...

  10. MySQL学习之SQL基础(一)DML

    DML(data Manipulation language) INSERT DELETE UPDATE SELECT INSERT mysql> desc emp; +----------+- ...