首先需要用到  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. Swift-如何快速学习Swift

    关于本文: 1.说明本文写作的目的 2.整理了Swift的基本语法树 3.看图作文 一.写作目的 昨天看了一个知识专栏,作者讲述的是“如何研究性的学习”.整个课程1个小时9分钟,花了我19块人民币.其 ...

  2. Shenandoah 与 ZGC

    简介 Shenandoah GC 与 ZGC 同为新一代的低延迟收集器, 分别由RedHat和Oracle开发, 目前还在实验阶段, 尚未使用于生产环境. GC的三项指标: Footprint(内存占 ...

  3. pyhton的返回值

    a=input() input()函数返回的是字符‘2’ a=bin(2) bin函数返回的是二进制形式的字符串'0b10' type()判断类型 bin()转化成二进制 int(a,2)可以强制把字 ...

  4. Zabbix在Docker中的应用和监控

    目录 Zabbix在Docker中的应用和监控 一.如何使Zabbix跑在Docker里 1.Docker基础环境配置 2.Docker-compose安装配置 3.启动zabbix server 4 ...

  5. 用javaweb写一个注册界面,并将数据保存到后台数据库(全部完成)(课堂测试)

    一.题目:WEB界面链接数据库 1.考试要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母. ...

  6. 程序启动:Serialize奋斗史

    1.前方高能 在这电子与数据风驰电掣的世界里,人们一刻不停歇的工作着. 但是我却是一个被冷落的人, 因为我做的工作最近用的人太少了.大多数时候,我只能羡慕的看着线程.反射.注解.集合.泛型这些明星员工 ...

  7. 力扣347——前 K 个高频元素

    这道题主要涉及的是对数据结构里哈希表.小顶堆的理解,优化时可以参考一些排序方法. 原题 给定一个非空的整数数组,返回其中出现频率前 k 高的元素. 示例 1: 输入: nums = [1,1,1,2, ...

  8. hibernate部分源码解析and解决工作上关于hibernate的一个问题例子(包含oracle中新建表为何列名全转为大写且通过hibernate取数时如何不用再次遍历将列名(key)值转为小写)

    最近在研究系统启动时将数据加载到内存非常耗时,想着是否有办法优化!经过日志打印测试发现查询时间(查询时间:将数据库数据查询到系统中并转为List<Map>或List<*.Class& ...

  9. 2017北京网络赛 J Pangu and Stones 区间DP(石子归并)

    #1636 : Pangu and Stones 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In Chinese mythology, Pangu is the fi ...

  10. Vue 中使用Ajax请求

    Vue 项目中常用的 2 个 ajax 库 (一)vue-resource vue 插件, 非官方库,vue1.x 使用广泛 vue-resource 的使用 在线文档   https://githu ...