运行不带参数的powershell脚本应该显示helpList函数

时间:2018-03-28 18:53:47

标签: powershell

从commnadline argumnet运行不带参数的powershell脚本然后应调用默认自定义函数HelpList()

function HelpList() 
{  
   Write-Host "Calling HelpList function"   
} #end Help  

function clean()
{
    Write-Host "Cleaning solution"
}

从命令行调用

DepolymentScript.ps1 HelpList   调用HelpList函数

DepolymentScript.ps1清洁     清洁液

DepolymentScript.ps1

然后变得空白。在这里,我需要显示Calling HelpList Function

2 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一目标。这种方式有点旧,但它有效:

param(
    $scriptParameter1 = '',
    $scriptParameter2 = ''
)

function HelpList{
    Write-Host "DevelopmentBuild.ps1 command line examples:"
}
if($scriptParameter1 -eq '' -OR $scriptParameter2 -eq ''){
    HelpList
}

阅读你的评论我认为你可能想要与我的想法不同的东西。这可能更符合您的喜好:

param(
    $scriptParameter1 = ''
)

function HelpList{
    Write-Host "DevelopmentBuild.ps1 command line examples:"
}
function Clean{
    #Do whatever clean does
}
switch $scriptParameter1{
    Clean {Clean}
    default {HelpList}
}

答案 1 :(得分:0)

调用函数可能会变得非常棘手

<强>问题:
使用或不使用HelpList()调用deploymentScript.ps1应显示:“调用HelpList函数

使用Clean()调用deploymentScript.ps1应显示:“清洁解决方案

    function HelpList() 
{  
   Write-Host "Calling HelpList function"   
} #end Help  

function clean()
{
    Write-Host "Cleaning solution"
}

DepolymentScript.ps1 HelpList //不确定这将如何导致从控制台调用HelpList函数

=============================================== ================== 解决方案:

方法1:测试并运行

您可以使用的替代方法是保持.PS不变 以及命令行的以下参数

. C:\PowerShell_Scripts\deployment_script.ps1

dir function:\*

现在,您可以通过名称直接调用函数

方法2:测试并运行

 param(
    $param1 = ''
)

function HelpList{
    Write-Host "DevelopmentBuild.ps1 command line examples1:"
}
function Clean{
     Write-Host "Cleaning Solution"
}
if($param1 -eq '' -OR $param1 -eq 'HelpList')
{
    HelpList
}
if($param1 -eq 'Clean'){
    Clean
}

=============================================== ======================== enter image description here