我需要创建脚本,该脚本将根据用户输入运行不同的代码块。为此,我在 PS 中使用 PromptForChoice 方法。我的代码目前如下所示:
$title = 'Disk clear'
$question = 'What do you want to remove?'
$choices = '&Browser cache','&Temp folder'
$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
switch ($decision)
{
0 {'You selected Browser cache'}
1 {'You selected Temp folder'}
Default {}
}
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,我得到以下输出:
Disk clear
What do you want to remove?
[B] Browser cache [T] Temp folder [?] Help (default is "T"):
Run Code Online (Sandbox Code Playgroud)
如果我输入 ? 为了获得帮助(找出 B 和 T 的含义),我得到了:
B -
T -
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何编辑选项(B & T)的描述?
选择的选项实际上是类型[System.Management.Automation.Host.ChoiceDescription],并包含一个将帮助消息指定为第二个字符串参数的选项。
$title = 'Disk clear'
$question = 'What do you want to remove?'
$Choices = @(
[System.Management.Automation.Host.ChoiceDescription]::new("&Browser Cache", "Clear the BrowserCache")
[System.Management.Automation.Host.ChoiceDescription]::new("&Temp Folder", "Clear the TempFolder")
)
$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
Run Code Online (Sandbox Code Playgroud)
Disk clear
What do you want to remove?
[T] Temp Folder [B] Browser Cache [?] Help (default is "B"): ?
T - Clear the TempFolder
B - Clear the BrowserCache
[T] Temp Folder [B] Browser Cache [?] Help (default is "B"):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4149 次 |
| 最近记录: |