zoukankan      html  css  js  c++  java
  • Cmdlet开发与学习(二)

          继续上一篇的内容,既然已经定义好了命令,那么我们还可以参数绑定,定义自己的参数对象。

          3.定义属性,即cmdlet参数对象

          参数绑定时基于cmdlet元数据进行的,cmdlet元数据是在命令发现过程中得到的。首先,基于cmdlet的类型(包括可执行程序,脚本文件,内置函数等),PowerShell实例化一个cmdlet。然后,通过查询cmdlet元数据中的参数信息,判断参数列表是否合法,或者,该命令参数是否需要参数值。

          参数绑定的实现相当简单,只需要对属性加上Parameter标示符即可。

     1     [Cmdlet(VerbsCommon.Get,"SQLServerBackupFile")]
     2     public class GetSQLServerBackup : PSCmdlet
     3     {
     4         private string path;
     5 
     6         [Parameter]
     7         public string Path
     8         {
     9             get { return path; }
    10             set { path = value; }
    11         }
    12         
    13     }

         

          4.重写cmdlet记录处理的方法

          参数绑定时,cmdlet类实例化得到一个实例对象。调用这个cmdlet实例对象的方法,就完成了命令调用过程。这些方法包括BeginProcessing(), ProcessRecord(), 和EndProcessing()

           BeginProcessing: 该方法包含只在命令初始化时执行一次的操作。

           ProcessRecord: 该方法被重写用来实现任务的主体。

           EndProcessing: 该方法用来包含实现收尾工作的操作。

           通常,需要在cmdlet类中重写这三个函数,但是并非必须的,也有cmdlet类只实现这三个方法中的一个或两个。

           

     1     [Cmdlet(VerbsCommon.Get,"SQLServerBackupFile")]
     2     public class GetSQLServerBackup : PSCmdlet
     3     {
     4         private string path;
     5 
     6         [Parameter]
     7         public string Path
     8         {
     9             get { return path; }
    10             set { path = value; }
    11         }
    12 
    13         protected override void ProcessRecord()
    14         {
    15             if (Directory.Exists(path))
    16             {
    17 
    18             }
    19             else
    20             {
    21 
    22             }
    23         }
    24     }

           

  • 相关阅读:
    fastText源码分析
    excel文件使用html导出
    oracle中对字符串进行分割,并反回随机段
    oracle锁表进行关闭
    .net中MVC Webapi多参数调用控制器方法
    C#线程调用带参数的方法,给控件赋值
    C#post调用接口并上传文件
    C#调用GPG命令进行加密解密文件操作
    C#中图片转换为Base64编码,Base64编码转换为图片
    GPG加密windows中使用
  • 原文地址:https://www.cnblogs.com/ByronsHome/p/3721367.html
Copyright © 2011-2022 走看看