如何在PowerShell脚本中将参数化函数别名作为标志?

ash*_*h g 1 powershell flags alias function

我有一个PS脚本,其中包含一些功能.我需要的是我应该能够将特定函数作为别名或变量标志传递给PS脚本.

对于Eg:假设我有一个具有以下2个函数的TestFunc.ps1文件

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

Function CreateReport($XmlFilePath)
{
#Do Something
}
Run Code Online (Sandbox Code Playgroud)

现在我如何为这两个函数(ParseXml和CreateReport)创建一个别名,以便我可以将它们作为标志(使用它们的别名)传递给脚本?对于Eg:我应该能够做到这样的事情:

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

任何帮助将不胜感激.我一直在努力这一段时间.

谢谢!阿树

CB.*_*CB. 5

您可以在脚本中添加一些switch参数,并测试它们是否为sets:

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     
    }
Run Code Online (Sandbox Code Playgroud)