Existe-t-il un moyen de conserver l'historique des commandes cmd entre les sessions?
Passez à l’utilisation de PowerShell et suivez les instructions du site suivant pour activer l’historique:
Alternativement, dans cmd.exe, vous pouvez utiliser "doskey/history" à la fin de votre session pour montrer ce que vous avez tapé dans cette session, mais il n'y a aucun moyen de le charger réellement dans la session suivante.
J'ai trouvé deux méthodes, dont aucune ne nécessite de passer à PowerShell.
L'enregistrement de l'historique est un petit flux de travail - voici une façon moins "lourde" de le faire (pas de bibliothèque 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
Puis lancez ceci à partir de "Démarrer-> Exécuter" (vous pouvez également configurer un alias pour cela aussi):
cmd.exe /K C:\MyEnvironment.cmd
Chaque fois que je ferme une session, je clique sur "Quitter" - ou, si j'ai peur de perdre mon historique en milieu de session, je clique sur "Enregistrer". Si je veux rechercher quelque chose dans l’histoire, je clique simplement sur "KEYWORD".
Selon le commentaire de @ dave_thompson_085, la fonction AutoRun
fonctionne bien si vous ne souhaitez pas utiliser le commutateur /K
. Si vous configurez la clé de registre correctement, il n'est pas nécessaire que .cmd
ou .bat
soit dans %AppData%
, il peut se trouver au même emplacement que celui-ci.
Si vous utilisez l'emplacement %AppData%
, sachez que cmd recherchera probablement votre fichier de commandes dans le dossier "Roaming" (au lieu de la racine AppData).
Plus d'informations sur la fonctionnalité CMD AutoRun
: https://superuser.com/a/302553/333316
J'utilise cygwin . Il fournit également d'autres fonctionnalités que Linux mais Windows non.