Existe-t-il un raccourci clavier pour coller le contenu du presse-papiers dans une fenêtre d'invite de commandes sous Windows XP (au lieu d'utiliser le bouton droit de la souris)?
Le Shift+ typique Insertne semble pas fonctionner ici.
Existe-t-il un raccourci clavier pour coller le contenu du presse-papiers dans une fenêtre d'invite de commandes sous Windows XP (au lieu d'utiliser le bouton droit de la souris)?
Le Shift+ typique Insertne semble pas fonctionner ici.
Réponses:
J'utilise personnellement un petit script AutoHotkey pour remapper certaines fonctions du clavier, pour la fenêtre console (CMD) que j'utilise:
; Redefine only when the active window is a console window
#IfWinActive ahk_class ConsoleWindowClass
; Close Command Window with Ctrl+w
$^w::
WinGetTitle sTitle
If (InStr(sTitle, "-")=0) {
Send EXIT{Enter}
} else {
Send ^w
}
return
; Ctrl+up / Down to scroll command window back and forward
^Up::
Send {WheelUp}
return
^Down::
Send {WheelDown}
return
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !{Space}ep
return
#IfWinActive
Oui .. mais maladroit. Lien
alt+ Space, e, k<- pour copier et
alt+ Space, e, p<- pour la pâte.
Pas vraiment lié à la programmation, mais j'ai trouvé ça sur Google, il n'y a pas de raccourci clavier direct , mais ça le rend un peu plus rapide.
Merci Pablo, juste ce que je cherchais! Cependant, si je peux me permettre d'améliorer légèrement votre script, je suggère de remplacer votre macro ^ V par ce qui suit:
; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return
L'avantage d'utiliser SendInput est que
Remarque, il est important d'inclure le "{Raw}" dans la commande SendInput, au cas où le presse-papiers contiendrait "!", "+", "^" Ou "#".
Remarque, il utilise StringReplace pour supprimer les caractères de retour chariot Windows en excès. Merci Hugov pour cette suggestion!
ctrl-v
à la console un sentiment «natif»
ctrl+v
il colle correctement, mais commence également à exécuter la chaîne (c'est comme si vous enter
appuyez ensuite). Comment puis-je empêcher cela?
Il existe également un excellent outil open source appelé clink , qui étend cmd de nombreuses fonctionnalités. L'un d'eux est en mesure d'utiliser ctrl + v pour insérer du texte.
Sur Windows 10, vous pouvez activer Ctrl+ Cet Ctrl+ Vpour fonctionner dans l'invite de commande :
Voici un outil gratuit qui le fera sur Windows. Je le préfère à un script car il est facile à configurer. Il fonctionne comme une application native rapide, fonctionne sur XP et plus, a des paramètres de configuration qui permettent de remapper les touches copier / coller / sélection pour les fenêtres de commande:
De plus, je connais les développeurs.
la méthode la plus simple consiste simplement à copier le texte que vous souhaitez coller dans cmd et à ouvrir cmd goto "propriétés" ---> onglet "option" ----> cochez la case (cochez) "mode quickEdit" et cliquez sur " ok "..... maintenant vous pouvez coller n'importe quel texte du presse-papiers en faisant un clic droit depuis votre souris.
Je vous remercie..
Merci, Pablo, d'avoir fait référence à l'utilitaire AutoHotkey. Depuis que j'ai installé Launchy qui utilise Alt+, Spacej'ai dû le modifier mais ajouter une Shiftclé comme indiqué:
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return
Ce n'est pas vraiment un raccourci mais juste un accès rapide au menu de contrôle: Alt-space EP
Si vous pouvez utiliser votre souris, un clic droit sur la fenêtre cmd fonctionne comme coller lorsque je l'ai essayé.
Théoriquement, l'application dans l'invite DOS a son propre presse-papiers et raccourcis. Importer du texte depuis le presse-papiers de Windows est "extra". Cependant, vous pouvez utiliser Alt-Space pour ouvrir le menu système de la fenêtre d'invite, puis appuyez sur E, P pour sélectionner Edition, menu Coller. Cependant, MS pourrait fournir un raccourci à l'aide de Win-key. Il n'y a aucune chance d'être utilisé dans une application DOS.
Il m'a fallu un petit moment pour comprendre pourquoi votre script AutoHotkey ne fonctionne pas avec moi:
; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return
En fait, il repose sur les frappes et par conséquent sur la disposition du clavier! Ainsi, lorsque vous êtes, comme moi, malheureux de n'avoir qu'un clavier AZERTY, votre suggestion ne fonctionne tout simplement pas. Et pire encore, je n'ai trouvé aucun moyen facile de remplacer la méthode SendInput ou de tordre son environnement pour résoudre ce problème. Par exemple, SendInput "1" n'envoie tout simplement pas le chiffre 1.
J'ai dû transformer chaque personnage en son unicode pour le faire fonctionner sur mon ordinateur:
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
clipboard3 := ""
Loop {
if (a_index>strlen(clipboard2))
break
char_asc := Asc(SubStr(clipboard2, a_Index, 1))
if (char_asc > 127 and char_asc < 256)
add_zero := "0"
else
add_zero := ""
clipboard3 := clipboard3 . "{Asc " . add_zero . char_asc . "}"
}
SendInput %clipboard3%
return
Pas très simple ...
Si vous utilisez le gestionnaire de presse-papiers Ditto (open source, gratuit), vous pouvez simplement utiliser le raccourci pour coller à partir de Ditto, et il collera le presse-papiers dans CMD pour vous.
Vous pouvez essayer d'utiliser Texter et créer quelque chose de peu probable comme:
./p, déclenché par l'espace et remplaçant le texte par% c
Je viens de le tester et cela fonctionne bien. Le seul problème est d'utiliser une séquence rare, car Texter ne peut pas limiter cela à seulement cmd.
Il existe probablement d'autres utilitaires de ce type qui pourraient fonctionner, et même AutoHotKey , sur lequel Texter est construit, pourrait le faire mieux, mais Texter est facile :-)
J'ai récemment découvert que l'invite de commande prend en charge le menu contextuel via le clic droit de la souris. Vous pouvez trouver plus de détails ici: http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
Si vous êtes un utilisateur Cygwin, vous pouvez ajouter ce qui suit à votre fichier ~ / .bashrc:
stty lnext ^q stop undef start undef
Et ce qui suit à votre fichier ~ / .inputrc:
"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard
Redémarrez votre terminal Cygwin.
(Remarque, j'ai utilisé un C majuscule pour la copie, car CTRL + c est affecté à la fonction de pause sur la plupart des consoles. Assaisonnez au goût.)
Au lieu de "cliquer avec le bouton droit" .... commencez votre session (une fois que vous êtes dans la fenêtre d'invite de commande) en tapant Alt / SpaceBar. Cela ouvrira le menu de la fenêtre d'invite de commandes et vous verrez vos raccourcis de commande de clavier soulignés familiers, tout comme dans l'interface graphique de Windows.
Bonne chance!
J'ai suivi les étapes de @ PabloG comme suit
Sous l'invite de commande VISTA: Cliquez sur l'icône du système Sélectionnez les valeurs par défaut dans le menu Sous l'onglet Options dans le groupe Options, j'ai "Mode d'édition rapide", "Mode d'insertion" et "Remplissage automatique" sélectionné Je pense que "Mode d'édition rapide" c'est ce qui fait que ça marche.
Pour coller tout ce qui se trouve dans le Presse-papiers au point d'insertion: clic droit. Pour copier à partir de la fenêtre de commande Sélectionnez en maintenant enfoncé le bouton gauche de la souris et en faisant glisser le pointeur sur ce que vous voulez copier Une fois sélectionné, cliquez avec le bouton droit Pour coller au point d'insertion, cliquez de nouveau avec le bouton droit.