我正尝试在PowerShell中添加自动完成功能。在这种情况下,我希望能够在我的控制台中键入“测试”。之后,可以输入Get-Se [TAB]以使用TAB扩展自动完成Get-Search。为PowerShell中的开关添加自动完成功能
PS > Get-Se[TAB]
PS > Get-Search
function test
{
[CmdletBinding()]
param()
# label the while loop "outer"
:outer while($true){
$x = Read-Host
# split $x into two parts
$first,$second = $x -split '\s',2
# switch evaluating the first part
switch($first){
Get-Search {
# Searching
}
default {
Write-Host "False"
}
}
}
}
附加信息:
目标: 我希望能够使用看起来像cmdlet来有PowerShell的感觉论据。
关于原始脚本:
我创建了一个脚本,从多个API的自动查询,对许多不同的用户。我现在搜索的是“s”,我希望它是“Get-Search”,所以Read-Host等待输入,用户将键入“Get-Search'值'”,格式化的JSON返回。
PS > Get-Search foobar
#Returns JSON
Poweshell已经有自动完成?如果我输入'Get-Se [TAB]',它会循环执行'Get-SecureBootPolicy,Get-SecureBootUEFI,Get-Service'请参阅'gcm Get-Se *'要让交换机对您确切的参数做出反应,通配符或-regex选项'get-help about_switch -show' – LotPings