当然在安装pandoc的时候就已经把pandoc添加到环境变量中了,现在我们来分析一下这个命令pandoc 1123.md -o 1123.doc,将这个命令分为四部分,以空格进行分隔。pandoc为程序名称,后面的1123.md、-0、1123.doc分别是传入这个程序main函数中的3个参数。这种使用cmd命令来运行程序达到自己目的对于我来说是比较好奇的,下面我就利用.NET来实现这种模式。
想要实现上面的这种效果,那么就不得的了解.NET中Main函数的使用了。首先,我们要知道.NET中程序Main是如何声明的。
1 Main函数的声明
.NET中的Main的函数声明,并没有强调必须要以某种固定的格式进行声明,下面这三种方式进行声明都是可以的。
//no.1static void Main(string[] args){ Console.WriteLine("Hello World"); Console.ReadKey();}//no.2static void Main(){ Console.WriteLine("Hello World"); Console.ReadKey();}//no.3static int Main(string[] args){ Console.WriteLine("Hello World"); Console.ReadKey(); return 1;}no.1是带参数无返回值,no.2是不带参数无返回值,no.3是带参有返回值的,不管哪种声明方式,.NET都是允许的,这一点不像Java中的Main函数声明,Java中的Main函数声明,必须要是带参数的,而且参数的必须要是String[] args,连args这个参数名称都要一致。
static void Main(string[] args){ if (args.Length == 3) {//第二个参数是-o,则把第一个参数的文档转为第三个参数的文档if (args[1] == "-o"){ if (File.Exists(args[0])) {if (Check(args[2])){ //进行转换的逻辑 Console.WriteLine("{0}—》{1}转换成功",args[0],args[2]);}else{ Console.WriteLine(args[1] + "不合法");} } else {Console.WriteLine(args[0]+"不存在"); }} } Console.ReadKey();}上述代码就能够实现Program filename -o filename命令的处理。首先程序判断传入进来的参数是不是三个,如果是三个,再判断第二个参数是不是文档转换命令-o,如果是转换命令就将第一个参数的文档转为第三个参数的文档。
注意:cmd中传入的参数是以空格进行分隔的.
3 总结
如果想要为外面的程序提供本程序的一些公开API接口,那么就需要定义参数输入的规定,然后在Main函数按照这一规定,接受并处理传入进来的参数,并给外界返回结果。通过这种方式,外界的程序可以批量的使用该程序提供的某些功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。