Vous pouvez résoudre ce problème en adoptant le module PSReadLine .
Voir un article sur Hey, Scripting Guy! blog concernant cette implémentation de ligne de lecture inspirée de bash pour PowerShell.
En particulier, l'utilisation de Ctrl+ Alt+ ( Shift) +? pour afficher toutes les liaisons de touches.
PS C:\> $PSVersionTable
Name Value
---- -----
PSVersion 5.0.10240.16384
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 10.0.10240.16384
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
Ctrl+R
PS C:\> Get-Module -ListAvailable
bck-i-search: mo_
Ctrl+ Alt+ ( Shift) +S
Key Function Description
--- -------- -----------
Ctrl+r ReverseSearchHistory Search history backwards interactively
Ctrl+s ForwardSearchHistory Search history forward interactively
En bref: installez ce module à la main ou mettez à niveau vers Windows PowerShell v5.
Je ne sais pas quand cela a été ajouté, mais sur mon Windows 10 non personnalisé et mis à jour, il est intégré. Appuyez sur ctrl + r pour la recherche d'historique inversé, cela fonctionne très bien.
la source
Il y a aussi une recherche graphique sous la touche F7. Une fois pressé, il affichera une fenêtre contextuelle que vous pouvez faire défiler pour rechercher la commande qui a été exécutée plus tôt. Appuyez sur Entrée pendant que le curseur survole la ligne pour la réexécuter.
la source
Vous pouvez également démarrer votre commande en plaçant un caractère # devant le texte de recherche partielle de la commande que vous recherchez, puis appuyez ensuite sur (plusieurs fois si nécessaire) pour parcourir l'historique des sessions.
la source