web-dev-qa-db-fra.com

Conserver l'historique des commandes cmd.exe entre les sessions?

Existe-t-il un moyen de conserver l'historique des commandes cmd entre les sessions?

73
firefusion

Passez à l’utilisation de PowerShell et suivez les instructions du site suivant pour activer l’historique:

http://blogs.msdn.com/b/powershell/archive/2006/07/01/perserving-command-history-across-sessions.aspx

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.

22
Hyppy

J'ai trouvé deux méthodes, dont aucune ne nécessite de passer à PowerShell.

  1. Installez Clink , ce qui améliore cmd.exe avec un historique persistant et bien plus encore. Installez-le, puis ouvrez cmd comme d'habitude.

  2. Installez TCC/LE version gratuite, qui est un programme séparé, fournissant à nouveau une version améliorée de cmd.exe.

59
sparrowt

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

12
Coruscate5

J'utilise cygwin . Il fournit également d'autres fonctionnalités que Linux mais Windows non.

2
Harun