PowerShell中PromptForChoice方法如何自定义选项的帮助描述?
解决方法
你当前直接传入字符串数组作为选项的方式无法自定义帮助描述,需要将选项替换为ChoiceDescription类型对象,该对象的第二个构造参数就是对应选项的帮助说明内容。
修改后的完整代码如下:
$title = '磁盘清理' $question = '你想要清理以下哪项内容?' # 构造选项对象,第二个参数即为输入?时展示的帮助描述 $choiceBrowser = New-Object System.Management.Automation.Host.ChoiceDescription '&浏览器缓存', '清理Chrome、Edge、Firefox等主流浏览器的缓存文件,不会影响浏览器保存的密码、收藏夹、浏览历史等个人数据' $choiceTemp = New-Object System.Management.Automation.Host.ChoiceDescription '&临时文件夹', '清理系统用户目录和全局临时目录下的过期临时文件,当前被程序占用的文件会自动跳过,不会报错' $choices = [System.Management.Automation.Host.ChoiceDescription[]]($choiceBrowser, $choiceTemp) $decision = $Host.UI.PromptForChoice($title, $question, $choices, 1) switch ($decision) { 0 {'你选择了清理浏览器缓存'} 1 {'你选择了清理临时文件夹'} Default {} }
修改后输入?查看帮助时,输出效果如下:
B - 清理Chrome、Edge、Firefox等主流浏览器的缓存文件,不会影响浏览器保存的密码、收藏夹、浏览历史等个人数据 T - 清理系统用户目录和全局临时目录下的过期临时文件,当前被程序占用的文件会自动跳过,不会报错
内容的提问来源于stack exchange,提问作者punky
相关产品推荐
相关产品推荐

