Write-Menu
-Title 'AppxPackages' -Sort -Entries (Get-AppxPackages).Name
-Title 'AppxPackages' -Sort -MultiSelect -Entries (Get-AppxPackages).Name
NOTE: The menu has been updated multiple times since capturing these screen-grabs, so they are no longer accurate...
Outputs a command-line menu which can be navigated using the keyboard.
Automatically creates multiple pages if the entries cannot fit on-screen.
Supports nested menus using a combination of hashtables and arrays.
No entry / page limitations (apart from device performance).
Sort entries using the -Sort parameter.
-MultiSelect: Use space to check a selected entry, all checked entries will be invoked / returned upon confirmation.
Jump to the top / bottom of the page using the Home and End keys.
Parameter
Example
Required
Entries (array)
-Entries @('Entry 1', 'Entry 2', 'Entry 3')
Entries (hashtable)
-Entries @{'Entry 1' = 'Write-Host "Command 1"'; 'Entry 2' = 'Write-Host "Command 2"'; 'Entry 3' = 'Write-Host "Command 3'"}
Optional
Title
-Title 'Example Title'
Optional
Sort
-Sort
Optional
MultiSelect
-MultiSelect
Example
Description
AdvancedMenu
Demonstrates all supported entry types (regular command + methods of adding a nested menu).
AppxPackages
Uses Write-Menu to list app packages (Windows Store/Modern Apps)
CustomMenu
Generates a custom menu by manually specifying each entry
Key
Description
Up
Previous entry
Down
Next entry
Left / PageUp
Previous page
Right / PageDown
Next page
Home
Jump to top
End
Jump to bottom
Space
-MultiSelect
Select current
Insert
-MultiSelect
Select all
Delete
-MultiSelect
Select none
Enter
Confirm selection
Esc / Backspace
Exit / Previous menu