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...
Description
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.
Parameters
|
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 |
Examples
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 |
Controls
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 |