从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
答案 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
}
=============================================== ========================