Raccourci clavier pour coller le contenu du presse-papiers dans la fenêtre d'invite de commande (Win XP) [fermé]

303

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.

pme
la source
2
utilisez console2. sourceforge.net/projects/console
Philip
Faites-vous plaisir, consultez la réponse «clink» sur cette page. ctrl-v et bien plus encore.
bdumtish
2
@pylover corrigé en 2015 .
Franck Dernoncourt
1
@pylover Sinon pour <10, vous pouvez utiliser un gestionnaire de presse - papiers . (bien sûr, je suis d'accord que c'est ridicule cmd n'a pas ctrl + c sur <10)
Franck Dernoncourt
4
@pylover Shame sur Microsoft, en 2016, nous devons utiliser la souris pour coller dans Bash, même si le menu prétend que Ctrl + V colle.
Michael

Réponses:

162

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 
PabloG
la source
Ce truc interfère avec Cygwin lorsqu'il s'exécute dans une ConsoleWindow. J'étais excité par cette astuce mais malheureusement j'ai dû la désinstaller.
piyo
2
@piyo: peut-être pouvez-vous exclure la console Cygwin par sa barre de titre? par exemple: si la barre de titre de la console indique "ConsoleWindow", vous pouvez ajouter quelque chose comme WinGetTitle sTitle \ n If (sTitle = "ConsoleWindow") {\ n return \ n} \ n ---
PabloG
Bonne idée. (+1) Oui, cela fonctionnerait si les titres des fenêtres ne changent pas. J'ai l'impression d'avoir plus de contrôle sur le titre de la fenêtre dans Cygwin, donc je peux peut-être ajouter un texte d'indication statique mais invisible pour le filtrage d'AHK.
piyo
@piyo: cygwin mintty (pas de X impliqué) est tellement plus agréable pour un shell cygwin ...
Paulo Scardine
1
HowToGeek suggère "SendInput {Raw}% clipboard%" au lieu de ep-espace alternatif. Ensuite, vous vous débarrassez également du scintillement
Vegar Westerlund
428

Oui .. mais maladroit. Lien

alt+ Space, e, k<- pour copier et
alt+ Space, e, p<- pour la pâte.

Nescio
la source
18
Pas exactement ce que j'espérais, mais bien sûr ça marche. Quelques conseils supplémentaires: Si vous avez mappé ALT + SPACE à votre lanceur d'application (par exemple Launchy) utilisez plutôt ALT-SHIFT-SPACE Si vous utilisez une version non anglaise de Windows, les 2 dernières touches seront bien sûr différentes (par exemple B + E pour coller en allemand)
sme
4
Juste pour expliquer la sélection aussi: ALT + ESPACE + E + K <- pour copie. et naviguer vers le haut, le bas, la gauche, la droite avec les flèches Maj + flèche droite <- pour sélectionner le texte ALT + ESPACE + E + P <- pour coller.
Yordan Georgiev
6
au complexe, je n'ai pas assez de doigts pour faire ce travail
pylover
5
Je trouve cette réponse la plus utile et la plus directe. La séquence de touches ne me choque pas, car il existe des séquences d'accords Emacs bien pires que cela. En fait, le raccourci du menu de la fenêtre Alt + Espace suffit pour comprendre sur quoi appuyer ensuite, car il y a un retour visuel (caractères soulignés).
acelent
2
Pour les fenêtres françaises: [Alt] + [Espace], [m], [c] pour copier, [Alt] + [Espace], [m], [o] pour coller
Deleplace
137

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.

Pour activer ou désactiver le mode QuickEdit:

  1. Ouvrez le programme MS-DOS ou l'invite de commande.
  2. Cliquez avec le bouton droit sur la barre de titre et appuyez sur Propriétés.
  3. Sélectionnez l'onglet Options.
  4. Cochez ou décochez la case Mode QuickEdit.
  5. Appuyer sur OK.
  6. Dans la boîte de dialogue Appliquer les propriétés au raccourci, sélectionnez les propriétés Appliquer à la fenêtre actuelle uniquement si vous souhaitez modifier le paramètre QuickEdit pour cette session de cette fenêtre uniquement, ou sélectionnez Modifier le raccourci qui a ouvert cette fenêtre pour modifier le paramètre QuickEdit pour toutes les futures invocations de l'invite de commande ou programme MS-DOS.

Edition rapide

Pour copier du texte lorsque QuickEdit est activé:

  1. Cliquez et faites glisser le pointeur de la souris sur le texte souhaité.
  2. Appuyez sur Entrée (ou cliquez avec le bouton droit n'importe où dans la fenêtre) pour copier le texte dans le presse-papiers.

Pour coller du texte lorsque QuickEdit est activé:

  1. Cliquez avec le bouton droit n'importe où dans la fenêtre.

Pour copier du texte lorsque QuickEdit est désactivé:

  1. Cliquez avec le bouton droit sur la barre de titre, appuyez sur Modifier dans le menu et appuyez sur Marquer.
  2. Faites glisser la souris sur le texte que vous souhaitez copier.
  3. Appuyez sur Entrée (ou cliquez avec le bouton droit n'importe où dans la fenêtre) pour copier le texte dans le presse-papiers.

Pour coller du texte lorsque QuickEdit est désactivé:

  1. Cliquez avec le bouton droit sur la barre de titre, appuyez sur Modifier dans le menu et appuyez sur Coller.
Rob Cooper
la source
14
nous parlons de raccourcis clavier.
pylover
11
Le clic droit me semble assez court
Jay Sullivan
19
Déplacer votre main du clavier vers la souris la disqualifie comme "assez courte".
Ross Presser le
Hé, c'est cool. Voici comment je l'utilise: j'ai créé un raccourci sur mon bureau vers cmd.exe puis fait un clic droit dessus sur "Épingler à la barre des tâches" - puis supprimer le raccourci du bureau ... puis je clique dessus avec le bouton droit dans le batte de tâche, puis cliquez à nouveau avec le bouton droit lorsqu'il affiche cmd et choisissez Propriétés. Je vais dans Advanced puis je lui dis de fonctionner en tant qu'administrateur. Ensuite, cliquez sur OK et sélectionnez l'onglet Options et activez QuickEdit comme vous le décrivez ici. Et Voila, c'est alors TOUJOURS activé pour que la pâte soit faite par un clic droit à l'invite chaque fois que j'utilise l'icône CMD noire dans la barre des tâches.
SDsolar
35

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

  • il ne repose pas sur le menu système d'invite de commandes ayant un élément de menu "Alt + Espace E P" pour faire le collage (fonctionne pour l'anglais et l'espagnol, mais pas pour toutes les langues).
  • cela évite ce scintillement désagréable que vous obtenez lorsque le menu est créé et détruit.

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!

Huw Walters
la source
2
bon, les améliorations sont toujours les bienvenues!
PabloG
1
excellent! la réponse par défaut a scintillé le menu contextuel, ce qui était ennuyeux
Eugene Burmako
merci, celui-ci donne ctrl-và la console un sentiment «natif»
jettico
Lorsque j'appuie, ctrl+vil colle correctement, mais commence également à exécuter la chaîne (c'est comme si vous enterappuyez ensuite). Comment puis-je empêcher cela?
LoMaPh
18

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.

sibbl
la source
La plupart des fonctionnalités de clink sont excellentes, mais cela casse une fonctionnalité utile de l'OMI. La saisie semi-automatique de cmd.exe parcourt les fichiers. clink's affiche une liste lorsque plusieurs fichiers commencent par le même nom. Pour les noms de fichiers longs commençant par le même nom, cmd.exe a une meilleure autocomplétion.
ChaimG
15

Sur Windows 10, vous pouvez activer Ctrl+ Cet Ctrl+ Vpour fonctionner dans l'invite de commande :

entrez la description de l'image ici

entrez la description de l'image ici

Franck Dernoncourt
la source
2
Ils ont déplacé ce paramètre dans l'onglet options et l'ont activé par défaut, donc l'expérimental n'existe plus (tout semble être à l'intérieur de l'onglet options, juste le paramètre opactiy est dans l'onglet couleurs). maintenant :)
Awesomeness
8

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:

entrez la description de l'image ici

De plus, je connais les développeurs.

c00000fd
la source
4

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..

Vignesh VRT
la source
4

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
Maksym Kozlenko
la source
3

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é.

jop
la source
Oui, le clic droit fonctionne bien, mais c'est ce que j'essaie d'éviter.
sme
Il s'avère que quatre frappes de touches déplacent la main vers la souris. Cette solution est également gagnante car elle est prête à fonctionner sur n'importe quelle machine.
Nick
3

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.

i486
la source
1
Juste comme remarque: lorsque vous voyez le cmd via une connexion RDP, c'est Alt-Del au lieu d'Alt-Space.
Bowi
2

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 ...

Djee
la source
2

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.

entrez la description de l'image ici

Franck Dernoncourt
la source
1

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 :-)

njsf
la source
1

Un moyen plus simple consiste à utiliser Windows PowerShell au lieu de CMD. cela fonctionne bien avec texter.

ilcredo
la source
1

Une solution assez simple peut être la console 2 , redéfinir les clés et c'est parti.

BG Bruno
la source
1

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.)

La source

U007D
la source
1

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!

Michael Scott
la source
1

J'ai suivi les étapes de @ PabloG comme suit

  1. goto http://www.autohotkey.com/ - télécharger autohotkey
  2. suivez les étapes d'installation simples
  3. après l'installation, créez un nouveau fichier * .ahk comme suit, cliquez avec le bouton droit sur le bureau> nouveau> Script Autohotkey> giveAnyFileName.ahk
  4. clic droit sur ce fichier> Modifier
  5. copier coller le script autohotkey donné par @PabloG dans sa réponse
  6. sauver et fermer
  7. double-cliquez sur le fichier à exécuter
  8. Terminé maintenant, vous devriez pouvoir utiliser Ctrl+ vpour coller dans l'invite de commande
Pravin Waychal
la source
-4

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.

Richard
la source
8
Quelle partie de "au lieu d'utiliser le bouton droit de la souris" ne comprenez-vous pas;)
reiniero