我正嘗試在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