C# 借助CommandLine 写命令行工具 在数据库中创建job
首先需要用到 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的更多相关文章
- Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- dotnet 使用 System.CommandLine 写命令行程序
在写命令行程序的时候,会遇到命令行解析的问题,以及参数的使用和规范化等坑.现在社区开源了命令行项目,可以帮助小伙伴快速开发命令行程序,支持自动的命令行解析和规范的参数 我写过一篇关于命令行解析的博客C ...
- 如何用Node编写命令行工具
0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...
- 如何用node编写命令行工具,附上一个ginit示例,并推荐好用的命令行工具
原文 手把手教你写一个 Node.js CLI 强大的 Node.js 除了能写传统的 Web 应用,其实还有更广泛的用途.微服务.REST API.各种工具……甚至还能开发物联网和桌面应用.Java ...
- 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具
用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具 前言 上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件.对呀,平时工作时,想要创建 ...
- x264源代码简单分析:x264命令行工具(x264.exe)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- react.js 之 create-react-app 命令行工具系统讲解
react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...
- 命令行工具--curl
目录 命令:curl 一.简介 二.使用案例 1.基本用法 2.保存访问的网页 3.测试网页返回值 4.指定proxy服务器以及其端口 5.cookie 6.模仿浏览器 7.伪造referer(盗链) ...
- HttpRepl 互操作的 RESTful HTTP 服务调试命令行工具
今天早上曽根セイラ告诉我一个好用的工具 HttpRepl 这是一个可以在命令行里面对 RESTful 的 HTTP 服务进行路由跳转和访问的命令行工具.可以使用 cd 这个命令和像文件跳转已经跳转到下 ...
随机推荐
- JavaScript图形实例:图形的平移和对称变换
1.1 六瓣花平移变换 平移变换是指图形从一个位置到另一个位置所作的直线移动.如果要把一个位于P(x,y)的点移到新位置P’(x’,y’),如图1,则只要在原坐标上加上平移距离Tx和Ty即可. 即 ...
- BUAA软工第一次作业-热身
第一次作业-热身 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) (北京航空航天大学 - 计算机学院) 这个作业的要求在哪里 第一次作业-热身作业(阅读) 我在这个课程 ...
- 回顾PHP:第一章:PHP基础语法
第一章:PHP基础语法 一.常量: 1.1.define()函数:define(‘R’,’5’,’true’); //R:常量名,5:常量值,true:常量名对大小写不敏感,为false时表示对常量名 ...
- HDU 5524:Subtrees
Subtrees Accepts: 60 Submissions: 170 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 13107 ...
- Ajax--jQuery使用Ajax
1.jQuery对Ajax操作进行了封装,在jQuery最底层的方法是$.ajax(),第二层是 load() , $.get() 和 $.post(),第三层是 $.getScript() 和 $. ...
- Day3-P - Matrix POJ3685
Given a N × N matrix A, whose element in the i-th row and j-th column Aij is an number that equals i ...
- 使用JavaScript和Canvas打造真实的雨滴效果
使用JavaScript和Canvas打造真实的雨滴效果 寸志 · 1 年前 我最近搞了一个有趣的项目——rainyday.js .我认为这个项目并不怎么样,而且,事实上这是我第一次尝试接触一些比弹窗 ...
- WebAPI实例
@{ ViewBag.Title = "About"; } @*<script src="~/Scripts/jquery-1.7.1.min.js"&g ...
- Lesson 46 Hobbies
Who, according to the authour, are 'Fortune's favoured children'? A gifted American psychologist has ...
- linux(centos6.9)下使用yum安装mysql,及启动MySQL等
查看系统自带的mysql版本:rpm -qa | grep mysql 卸载mysql:rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps 1. 安装my ...