脚本开始声明参数:
param([Parameter(Position=0, Mandatory = $true)]$a)
当我在不传递任何参数的情况下运行脚本时,我得到:
Cmdlet test.ps1 at command pipeline position 2
Supply values for the following parameters:
a:
我想压制第一行“Cmdlet test.ps1 ...”,这对用户来说听起来很尴尬。然后我想指定$ a参数的文本请求,而不是只显示其变量名。
答案 0 :(得分:2)
你做不到。您可以做的最好的事情是添加HelpMessage
:
[Parameter(Position=0, Mandatory = $true, HelpMessage = 'Pretty message')]
然后您会看到另一行(Type !? for Help.)
提示将相同,但如果用户键入!?
,则将显示您的消息。这不是很好。
除此之外,您可以将参数设为可选(删除必填),然后测试该值,并在正文中自行提示:
param([Parameter(Position=0)]$a)
if (!$a) {
$a = Read-Host -Prompt 'Hello user, give me the value, you know the one'
}