[string[]] 参数与读取主机行为

问题描述

在我的 PowerShell 脚本中,我设置了以下参数:

[string[]]$OptionNum

所以我可以使用例如:

.\MyScript.ps1 1,4,6

然后我在 $OptionNum 上有一个带有每个选项值的 PSItem –contains “n” 的 switch 语句,以根据已选择的内容运行相关代码。因此,上面分别调用了 1、4 和 6 的各个开关选项。效果很好。

问题。如果用户没有在提示时指定这些选项,我想向他们展示可用选项的列表,并允许他们输入他们想要的项目。所以我输出了有关可用内容的信息,然后我有一行:

[string[]]$OptionNum = Read-Host “Enter the required options”

虽然在这两种情况下 $OptionNum 都设置为字符串 System.Array 类型,但使用上面的参数方法数组具有三个不同的值,但使用相同值的 Read-Host 方法以相同的方式输入给我一个数组“1,6”的值。或者换一种说法,使用参数时$OptionNum.count为3,使用Read-Host时为1。

如何调整我的读取主机代码,以便将这些逗号分隔值保存为数组中的单独条目?

注意,$OptionNum 值是字符串值而不是数字,可以是单词而不是数字。我希望无论他们使用哪种方法输入选项,用户体验都相同,因此代码可以更改,但用户输入的内容不能。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)