如何解决powershell强制参数和用户输入消息框
早上好
有没有办法让用户在消息框中输入必填参数?
Param(
[Parameter(Mandatory=$True)][string]$parameter1,[Parameter(Mandatory=$True)][string]$parameter2,[Parameter(Mandatory=$True)][string]$parameter3
)
例如,我想要一个带有文本字段的弹出框,用户必须填写必填参数所需的值
$confirm = [System.Windows.MessageBox]::Show('Please confirm you want to start)
感谢每一个回答的人。
解决方法
如答案linked in the comments中所述,您可以使用[Microsoft.VisualBasic.Interaction]::InputBox()
静态方法来提示用户输入字符串。
现在用于参数绑定行为。这似乎有点违反直觉,但是如果您删除 Mandatory
标志并提供一个调用您的GUI组件的表达式,则可以使用您自己的GUI提示符覆盖默认提示符。作为其默认参数值:
Param(
[Parameter(Mandatory=$True)][string]$parameter1 = $([Microsoft.VisualBasic.Interaction]::InputBox("What should parameter1 be?","Parameter1 input prompt"))
)
现在,如果用户不提供参数参数,PowerShell将不会以其自己的提示符中断(因为参数不再是必需的),而是继续评估默认值表达式,并依次显示输入框提示
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。