Existe-t-il un moyen de conserver l'historique des commandes cmd entre les sessions ?
Réponses
Trop de publicités?J'ai trouvé 2 moyens, dont aucun ne nécessite de passer à PowerShell.
-
Installer Clink qui améliore
cmd.exe
avec une histoire persistante et bien plus encore. Il suffit de l'installer et d'ouvrircmd
comme d'habitude. -
Installer TCC/LE la version gratuite, qui est un programme distinct, fournissant à nouveau une version améliorée de l'outil de gestion de l'information.
cmd.exe
.
Passez à l'utilisation de PowerShell, et suivez les instructions du site suivant pour activer l'historique :
https://devblogs.microsoft.com/powershell/perserving-command-history-across-sessions/ ( archivé )
Par ailleurs, dans cmd.exe, vous pouvez utiliser "doskey /history" à la fin de votre session pour afficher ce que vous avez tapé dans cette session, mais il n'y a aucun moyen de le charger réellement dans la session suivante.
La sauvegarde de l'historique est un petit travail - voici une façon moins "lourde" de le faire (sans librairie externe).
Créez un fichier bat/cmd pour configurer votre historique, dans ce cas je l'ai appelé MyEnvironment.cmd :
doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls
Ensuite, exécutez-la à partir de "Démarrer->Exécuter" (vous pouvez également créer un alias pour cela) :
cmd.exe /K C:\MyEnvironment.cmd
Chaque fois que je ferme une session, j'appuie sur "quit" - ou si j'ai peur de perdre l'historique au milieu de la session, j'appuie sur "save". Si je veux rechercher quelque chose dans l'historique, j'appuie simplement sur "history KEYWORD".
D'après le commentaire de @dave_thompson_085, les AutoRun
fonctionne bien si vous ne souhaitez pas utiliser la fonction /K
un interrupteur. Si vous configurez correctement la clé de registre, l'option .cmd
o .bat
n'a pas besoin d'être dans %AppData%
il peut être au même endroit qu'il l'est déjà.
Si vous utilisez le %AppData%
mais sachez que cmd cherchera probablement votre fichier batch dans le dossier "Roaming" (au lieu de la racine AppData).
Plus d'informations sur le AutoRun
Fonction CMD : https://superuser.com/a/302553/333316
Mise à jour (oct. 2020) sur Autorun : J'utilise cette fonction depuis des années maintenant, mais je tiens à signaler que de nombreux programmes qui s'appuient sur CMD pour exécuter des commandes en arrière-plan (Visual Studio, applications Win32), obtiennent très confus si quelque chose s'exécute avant la commande CMD passée (par exemple l'invite du développeur VS). Si cela pose problème, passez à l'option /K
méthode.