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 这个命令和像文件跳转已经跳转到下 ...
随机推荐
- js读取本地json/txt/xml存在跨越问题,可以用jsonp 读取本地json文件
想自己用 js写一个原生的ajax请求,访问本地文件,json/txt.但是demo,写了一个后,发现 原来是跨域了. js 写的原生ajax 请求代码如下 html代码 <div id=&qu ...
- 【快学springboot】4.接口参数校验
前言 在开发接口的时候,参数校验是必不可少的.参数的类型,长度等规则,在开发初期都应该由产品经理或者技术负责人等来约定.如果不对入参做校验,很有可能会因为一些不合法的参数而导致系统出现异常. 上一篇文 ...
- importlib 与__import__的区别
importlib 与__import__的区别 importlib import importlib name = "lib.test" # lib.test指的是lib路劲下的 ...
- PHP的错误知识
一.绪 PHP程序的错误发生一般归属于: 语法错误(会阻止脚本的执行) 运行时错误(不会阻止脚本的执行,但会组织脚本做希望它做的任何事情) 逻辑错误(不会阻止脚本执行,也不会显示错误消息) 二.开启错 ...
- 项目启动异常,java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' befo ...
- 082、Java数组之数组传递之简化理解
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- acid-事务的原子性、一致性、隔离性、持久性
博客分类: oracle-dba 原子性 多个事情组成一个单元,要么同时成功或失败,不能只运行其中一个 一致性 事务处理要将数据库从一种状态转变为另一种状态. 一旦提交了修改数据,那么其它人读 ...
- gitlab clone或者pull 仓库
今天在学git操作,想从gitlab上面clone下来并操作一下,但是一直出现 没有权限的错误,一直搞不定 后来才知道,需要ssh密钥才可以 ssh-keygen -t rsa -C "ex ...
- 搭建python的开发环境(采用eclipse的开发工具)在线和离线安装pyDev
一.首先下载python的开发环境并安装 在这里下载python3.7.2,然后安装在一个指定文件夹,随后,将安装路径配置到环境变量中 验证是否成功 OK! 二.在线安装pyDev工具 三.导入开发环 ...
- f_lseek
我在STM32中移植了fatfs文件系统,实现在SD卡对文件的读写.在普通读写中都没有问题,但是一旦我关闭文件系统,再次打开读写,之前写的数据就被覆盖.比如举个例子: u8 tx_buff ...