Existe-t-il un moyen de conserver l'historique des commandes cmd entre les sessions?
Existe-t-il un moyen de conserver l'historique des commandes cmd entre les sessions?
Réponses:
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.
cmd.exe
mais c’est une bonne réponse et clink prend également en charge un mode d’injection.
cmd
par cela, pas eu de problèmes, très heureux avec cela.
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
Ensuite, lancez ceci depuis "Démarrer-> Exécuter" (vous pouvez aussi 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».
D'après le commentaire de @ dave_thompson_085, cette AutoRun
fonctionnalité fonctionne bien si vous ne souhaitez pas utiliser le /K
commutateur. Si vous configurez correctement la clé de Registre, le .cmd
ou .bat
n'a pas besoin d'être %AppData%
, il peut être au même endroit , il est déjà.
Si vous utilisez cet %AppData%
emplacement, sachez que cmd recherchera probablement votre fichier de commandes dans le dossier "Roaming" (au lieu de la racine AppData).
Plus d'informations sur la AutoRun
fonctionnalité CMD: https://superuser.com/a/302553/333316
$g
insère un >
, et $t
est un séparateur de commandes.
>
et &&
caractères directement dans l'alias doskey?
doskey quit=doskey /history
et enregistrez le résultat de la création de la macro dans un fichier journal (soit rien, soit un message d'erreur); Ensuite, fermez la fenêtre (en jetant tout). -Vous pouvez échapper à ces personnages avec un ^
, cependant, je pense. Comme ^>^>
et ^&
(... et oui, vous n'avez besoin que d'une esperluette)