我目前正在学习PowerShell,我无法弄清楚如何组合字符串和变量来从现有变量中提取信息。
用户输入只是一个数字,所以1,2,3等我需要附加到$ option的末尾,它将从变量$ optionX中提取标题信息。
到目前为止,我尝试过的所有内容只是将其解释为字符串并将$ OptionX打印到控制台中,而不是$ OptionX持有的值。
例如:
function Title{
Write-host "$OptionName for:"$computerSystem.Name -BackgroundColor DarkCyan
}
function GetMenu {
# Set the menu options
$Option1 = "1) System Information"
# Get menu selection
$Navigation = Read-Host "Enter Selection"
ToolBox
}
function ToolBox{
Clear-Host
switch ($Navigation){
1 { #Script 1
Title
}
答案 0 :(得分:0)
我想出了如何做到这一点,我不确定它是否是最好的方法,但它确实做了我需要做的事情。
function Title{
$OptionCombine = "Option"+$Navigation
$OptionName = Get-variable $OptionCombine -ValueOnly
Write-host "$OptionName for:"$computerSystem.Name -BackgroundColor DarkCyan
}
答案 1 :(得分:0)
你可以在自我回答中做你做的事情。我建议使用哈希映射,但对我来说似乎更干净。 (我不知道$ computersystem.Name-part是什么,所以我把它留在了):
HttpClient
对于你的其余部分我可以看到你正在广泛使用全局变量,我会避免(它会让你感到困惑,让你更难理解发生了什么,以及许多其他不使用它们的原因)。查看使用函数的参数,使用Powershell ISE中的代码段菜单(CTRL + J)将为您创建一个快速的函数框架。如果您想在Powershell函数中进一步开发,请在同一菜单中查看Cmdlet(高级函数)模板。