Fonction de type historique de Bash pour l'invite de commandes Windows

9

Je recherche une alternative à l'invite de commandes qui prend en charge les fonctionnalités pratiques de Linux Terminal, comme

  • Conserver l'historique des commandes et y accéder à l'aide de la touche flèche haut.
  • Commandes de journalisation dans le fichier (comme: .bash_history).
  • Possibilité de redimensionner la fenêtre de commande.
  • Permet d'utiliser Ctrl + C et Ctrl + V pour copier / coller du contenu.

J'ai parcouru la console , mais je me demande si elle prend en charge quelque chose au-delà de peaufiner son interface utilisateur. Je m'attends davantage à ce que l'invite conserve l'historique des commandes afin que je ne doive pas les saisir à chaque fois.

Kushal
la source

Réponses:

4

la vieille chose s'appelle «doskey». c'est en fait un spectacle assez familier pour nous les vieux copains ...

consultez sa page d'aide:

C: \ Users \ bubu> doskey /?
Modifie les lignes de commande, rappelle les commandes Windows et crée des macros.

DOSKEY [/ REINSTALL] [/ LISTSIZE = taille] [/ MACROS [: TOUS | : exename]]
  [/ HISTOIRE] [/ INSÉRER | / OVERSTRIKE] [/ EXENAME = exename] [/ MACROFILE = nom_fichier]
  [macroname = [text]]

  / REINSTALL Installe une nouvelle copie de Doskey.
  / LISTSIZE = taille Définit la taille du tampon d'historique des commandes.
  / MACROS Affiche toutes les macros Doskey.
  / MACROS: ALL Affiche toutes les macros Doskey pour tous les exécutables qui ont
                      Macros Doskey.
  / MACROS: exename Affiche toutes les macros Doskey pour l'exécutable donné.
  / HISTORY Affiche toutes les commandes stockées en mémoire.
  / INSERT Spécifie que le nouveau texte que vous tapez est inséré dans l'ancien texte.
  / OVERSTRIKE Spécifie que le nouveau texte remplace l'ancien texte.
  / EXENAME = exename Spécifie l'exécutable.
  / MACROFILE = filename Spécifie un fichier de macros à installer.
  macroname Spécifie un nom pour une macro que vous créez.
  texte Spécifie les commandes que vous souhaitez enregistrer.

Flèches HAUT et BAS rappelant les commandes; ESC efface la ligne de commande; Affichages F7
historique des commandes; ALT + F7 efface l'historique des commandes; Commande de recherche F8
histoire; F9 sélectionne une commande par numéro; ALT + F10 efface les définitions de macro.

Voici quelques codes spéciaux dans les définitions de macro Doskey:
$ T Séparateur de commandes. Permet plusieurs commandes dans une macro.
$ 1- $ 9 Paramètres de lot. Équivalent à% 1-% 9 dans les programmes batch.
$ * Symbole remplacé par tout ce qui suit le nom de la macro sur la ligne de commande.

C: \ Users \ bubu>

cependant, il ne conserve pas l'historique dans un fichier, vous pouvez bien sûr utiliser doskey / history> file et d'autres choses pour le faire, mais ce n'est pas aussi automatisé que bash. ctrl-c génère une interruption et n'est donc pas utilisé dans les consoles. même xterm ne le permettrait pas. (xterm utilise la sélection de la souris comme copie et le clic droit comme pâte, pour le sujet)

Alternativement, vous pouvez utiliser cygwin et utiliser bash à la place ... il fonctionne également sur Windows.

bubu
la source
2

La console peut utiliser plus que Windows cmd.execomme shell cible. Si vous téléchargez, par exemple, le port Windows du shell BASH, vous pouvez l'utiliser à la place sous Console. Ceci, en conjonction avec des outils supplémentaires comme MinGW (qui inclut le port BASH pour Windows ainsi que plusieurs de vos standbys de terminaux * nix préférés comme lset wget) ou des programmes GNUWin32 dans votre chemin système peuvent vous donner une console très Unix-y dans Windows.

Andrew Lambert
la source
2

Essayez TCC / LE , qui propose notamment l'édition et l'historique de la ligne de commande. Il s'agit de l'édition gratuite du logiciel d'environnement Take Command.

Une fois installé, vous pouvez spécifier quel aspect vous souhaitez enregistrer (commandes, erreurs, historique) et dans quel fichier vous souhaitez les enregistrer. TCC / LE peut être utilisé en combinaison avec la console ou ConEmu.

entrez la description de l'image ici

Isxek
la source
Pour afficher cette boîte de dialogue, exécutez "OPTION" dans la cmd TCC \ LE.
Yonixw
2

C'est une question assez ancienne, et elle reste la même jusqu'à ce que je trouve récemment une excellente alternative d'invite de commande appelée ConEmu .

entrez la description de l'image ici

Il prend en charge un large éventail de fonctionnalités telles que les onglets, les sessions de restauration automatique au redémarrage, l'intégration de Power Shell et l'essentiel, l'historique des commandes. Bien qu'il ne prenne toujours pas en charge l'historique basé sur des fichiers (donc l'historique est perdu au redémarrage), mais étant un outil Open Source, je prévois d'ajouter cette prise en charge (à moins que les invites de commande de Windows 10 fournissent toutes les promesses que j'ai vues dans l'aperçu) . Merci à tous ceux qui ont répondu.

Kushal
la source