如何别名参数功能在PowerShell脚本一个标志?(How to alias a paramete

2019-10-17 08:08发布

我有在它有几个功能,一个PS脚本。 我需要的是,我应该能够将特定功能传递给PS脚本的别名或变量标志。

为例如:假设我有如下具有2种功能的TestFunc.ps1文件

$XmlFilePath = "C:\XmlPath\file1.xml
Function ParseXml($XmlFilePath)
{
#Do Something
}

Function CreateReport($XmlFilePath)
{
#Do Something
}

现在,我怎么可以创建两种功能(ParseXml和CREATEREPORT),这样我就可以通过他们每个人作为一个标志(用自己的别名)到脚本的别名? 对于例如:我应该可以做这样的事情:

. .\TestFunc.ps1 -Xml #This must be able to execute the ParseXml($XmlFilePath) function for me
. .\TestFunc.ps1 -Report #This must execute CreateReport($XmlFilePath) function

任何帮助将不胜感激。 我一直在这,现在挣扎了一会儿。

谢谢! 阿树

Answer 1:

您可以将某些开关参数添加到您的脚本和测试,如果他们是集:

param( [switch]$xml, [switch]$Report)    

Function ParseXml($XmlPath)
{
  "Parse"
}

Function CreateReport($XmlPath)
{
  "Report"
}

 $XmlPath = "C:\XmlPath\file1.xml"

if ($xml) 
    { 
        ParseXml $XmlPath 
    } 
if ($Report)
    {    
        CreateReport $xmlPath     
    }


文章来源: How to alias a parameterized function as a flag in powershell script?