クリップボードのコンテンツをコマンドプロンプトウィンドウに貼り付けるキーボードショートカット(Win XP)[終了]


303

(マウスの右ボタンを使用する代わりに)Windows XPのコマンドプロンプトウィンドウにクリップボードの内容を貼り付けるためのキーボードショートカットはありますか?

典型的なShift+ Insertはここでは機能しないようです。


2
console2を使用します。sourceforge.net/projects/console
フィリップ

このページの「clink」の回答をチェックしてください。ctrl-vやその他たくさん。
bdumtish 2015

2
@pyloverは2015年に修正されました。
フランクダーノンコート2015

1
@pyloverそれ以外の場合、10未満の場合は、クリップボードマネージャーを使用できます。(もちろん、ばかげたcmdには<10でctrl + cがないことに同意します)
フランクダーノンコート

4
マイクロソフトの恥@pylover、今年2016年に私たちも、メニューかかわらず、バッシュに貼り付けるために、マウスを使用しなければならない主張はCtrl + Vで貼り付けていること。
Michael

回答:


162

個人的には、小さなAutoHotkeyスクリプトを使用して、特定のキーボード機能を再マップします。使用するコンソールウィンドウ(CMD)は次のとおりです。

; 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 

これは、ConsoleWindow内で実行されているときにCygwinに干渉します。このヒントにワクワクしましたが、残念ながらアンインストールする必要がありました。
piyo 2010

2
@piyo:おそらく、タイトルバーでCygwinコンソールを除外できますか?例:コンソールのタイトルバーに「ConsoleWindow」と表示されている場合、WinGetTitle sTitleのようなものを追加できます\ n If(sTitle = "ConsoleWindow"){\ n return \ n} \ n ---
PabloG

良いアイデア。(+1)ええ、ウィンドウのタイトルが変わらなければ機能します。Cygwinのウィンドウタイトルをより細かく制御できるように感じているので、AHKのフィルタリングに静的で非表示のヒントテキストを追加できると思います。
piyo

@piyo:cygwin mintty(Xは含まれません)は、cygwinシェルに
最適

1
HowToGeekは、alt-space epではなく、「SendInput {Raw}%clipboard%」を提案しています。その後、ちらつきも取り除きます
Vegar Westerlund 14

428

はい..しかし厄介です。リンク

alt+ Spaceek< -コピー用と
alt+ Spaceep< -ペーストのため。


18
私が望んでいたこととは異なりますが、もちろん機能します。追加のヒント:Alt + Spaceをアプリケーションランチャー(たとえばLaunchy)にマップした場合は、代わりにAlt-Shift-Spaceを使用します。英語以外のバージョンのウィンドウを使用している場合、最後の2つのキーはもちろん異なります(たとえばB + E(ドイツ語での貼り付け)
sme '25

4
選択についても説明します:ALT + SPACE + E + K <-for copy。上、下、左、右の矢印で移動Shift +右矢印<-テキストを選択するにはALT + SPACE + E + P <-貼り付けます。
ヨルダンゲオルギエフ

6
複雑に、私はこの仕事をするのに十分な指を持っていません
pylover

5
私はこの答えが最も役に立ち、要点をまっすぐにしています。これよりもかなり悪いEmacsのコードシーケンスがあるので、キーシーケンスは私にショックを与えません。実際、視覚的なフィードバック(下線付きの文字)があるため、ウィンドウメニューのショートカットAlt + Spaceで次に何を押すかを理解できます。
acelent

2
フランスのウィンドウの場合:[Alt] + [Space]、[m]、[c]はコピー、[Alt] + [Space]、[m]、[o]は貼り付け
Deleplace

137

本当に関連のプログラミングではないが、私が見つけ、これを Googleで、そこに直接キーボードショートカットではありませんが、それは少し速くなります。

QuickEditモードを有効または無効にするには:

  1. MS-DOSプログラムまたはコマンドプロンプトを開きます。
  2. タイトルバーを右クリックし、[プロパティ]を押します。
  3. [オプション]タブを選択します。
  4. [クイック編集モード]ボックスをオンまたはオフにします。
  5. OKを押します。
  6. プロパティをショートカットに適用ダイアログで、このウィンドウのこのセッションのみのクイック編集設定を変更する場合にのみ、現在のウィンドウにプロパティを適用するを選択するか、このウィンドウを開始したショートカットを変更して以降のすべての呼び出しのクイック編集設定を変更しますコマンドプロンプト、またはMS-DOSプログラム。

クイックエディット

QuickEditが有効になっているときにテキストをコピーするには:

  1. マウスポインタをクリックして、必要なテキストの上にドラッグします。
  2. Enterキーを押す(またはウィンドウの任意の場所を右クリックする)と、テキストがクリップボードにコピーされます。

QuickEditが有効なときにテキストを貼り付けるには:

  1. ウィンドウ内の任意の場所を右クリックします。

QuickEditが無効になっているときにテキストをコピーするには:

  1. タイトルバーを右クリックし、メニューの[編集]を押して、[マーク]を押します。
  2. コピーするテキストの上にマウスをドラッグします。
  3. Enterキーを押す(またはウィンドウの任意の場所を右クリックする)と、テキストがクリップボードにコピーされます。

QuickEditが無効になっているときにテキストを貼り付けるには:

  1. タイトルバーを右クリックし、メニューの[編集]を押して、[貼り付け]を押します。

14
キーボードショートカットについて話している。
pylover 2012

11
右クリックは私にはかなり短いようです
Jay Sullivan

19
キーボードからマウスに手を動かすと、「かなり短い」とは見なされません。
ロスプレッサー2014

ねえ、それはクールです。使用方法は次のとおりです。デスクトップにcmd.exeへのショートカットを作成し、それを右クリックして[タスクバーに固定]にします。次に、デスクトップからショートカットを削除します。次に、ショートカットを右クリックします。タスクバット、cmdが表示されたらもう一度右クリックし、[プロパティ]を選択します。Advancedに入り、Administratorとして実行するように指示します。次に、[OK]をクリックして[オプション]タブを選択し、ここで説明するようにQuickEditを有効にします。そして、これは常に有効になっているので、タスクバーの黒いCMDアイコンを使用するたびに、プロンプトで右クリックして貼り付けを行うことができます。
SDsolar 2017年

35

パブロ、私が探していたものに感謝します!ただし、スクリプトを少し自由に改善できる場合は、^ Vマクロを次のマクロに置き換えることをお勧めします。

; 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

SendInputを使用する利点は、

  • コマンドプロンプトのシステムメニューの「Alt + Space E P」メニュー項目を使用して貼り付けを行う必要はありません(英語とスペイン語で機能しますが、すべての言語では機能しません)。
  • メニューが作成および破棄されるときに発生する厄介なちらつきを回避します。

クリップボードに「!」、「+」、「^」、または「#」が含まれている場合に備えて、SendInputコマンドに「{Raw}」を含めることが重要です。

StringReplaceを使用して、余分なWindows改行文字を削除していることに注意してください。その提案をありがとうhugov!


2
良いもの、改善はいつでも歓迎です!
PabloG

1
優れた!デフォルトの答えは迷惑だったポップアップメニュー、点滅
ユージンBurmako

おかげで、これctrl-vはコンソールに「ネイティブ」の感覚を与えます
jettico

押すctrl+vと正しく貼り付けられますが、文字列の実行も開始されます(enter後で押されるようです)。どうすればそれを防ぐことができますか?
LoMaPh

18

clinkと呼ばれる優れたオープンソースツールもあり cmdを多くの機能で拡張します。それらの1つは、ctrl + vを使用してテキストを挿入できることです。


clinkのほとんどの機能は優れていますが、IMOの便利な機能の1つを壊します。cmd.exeのオートコンプリートはファイルを循環します。複数のファイルが同じ名前で始まる場合、clinkはリストを表示します。同じ名前で始まる長いファイル名の場合、cmd.exeの方がオートコンプリートが優れています。
ChaimG 2016


8

ここでは「Windows上でそれを行います無料のツールです。設定は簡単なので、スクリプトよりも好きです。高速のネイティブアプリとして動作し、XP以降で動作し、コマンドウィンドウのコピー/貼り付け/選択キーを再マッピングできる構成設定があります。

ここに画像の説明を入力してください

さらに、私は開発者を知っています。


4

最も簡単な方法は、cmdに貼り付けたいテキストをコピーしてcmd goto "properties" ---> "option" tab ---->(ティックマークを付ける) "quickEdit mode"をチェックし、 " ok ".....今、マウスを右クリックしてクリップボードからテキストを貼り付けることができます。

ありがとうございました..


4

AutoHotkeyユーティリティについて言及してくれたPabloに感謝します。Alt+ Spaceを使用するLaunchyがインストールされているので、変更する必要がありShiftますが、次のようにキーを追加する必要があります。

; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return

3

これは実際にはショートカットではなく、コントロールメニューへのクイックアクセスです:Alt-space EP

マウスを使用できる場合は、コマンドウィンドウを右クリックすると、貼り付けたときに機能します。


はい、右クリックは問題なく動作しますが、それを回避しようとしています。
sme

マウスに手を動かす4つのキーストロークビートがわかります。このソリューションは、どのマシンでも実行できる状態になっているため、成功します。
Nick

3

理論的には、DOSプロンプトのアプリケーションには独自のクリップボードとショートカットがあります。Windowsクリップボードからテキストをインポートすることは「追加」です。ただし、Alt-Spaceを使用してプロンプトウィンドウのシステムメニューを開き、E、Pを押して[編集]、[貼り付け]メニューを選択できます。ただし、MSはWinキーを使用してショートカットを提供できます。DOSアプリケーションで使用される機会はありません。


1
余談ですが、RDP接続を介してcmdを見ると、Alt-SpaceではなくAlt-Delです。
ボウイ2018年

2

AutoHotkeyスクリプトが機能しない理由を理解するのに少し時間がかかりました。

; 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

実際、それはキーストロークに依存しているため、キーボードレイアウトに依存しています。ですから、私がAZERTYキーボードしか持っていないのは残念なことに、あなたの提案はうまくいきません。さらに悪いことに、私はSendInputメソッドを置き換える簡単な方法や、これを修正するためにその環境をひねる方法を見つけられませんでした。たとえば、SendInput "1"は数字1を送信しません。

コンピューターで機能させるために、すべての文字をユニコードに変換する必要がありました。

#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

それほど単純ではない...


2

クリップボードマネージャーDitto(オープンソース、無償)を使用している場合は、ショートカットを使用してDittoから貼り付けるだけで、クリップボードがCMDに貼り付けられます。

ここに画像の説明を入力してください


1

Texterを使用して、次のようなものを作成することができます。

./p、スペースによってトリガーされ、テキストを%cで置き換えます

私はそれをテストしましたが、うまくいきます。唯一の問題は、Texterがこれをcmdだけに制限できないため、まれなシーケンスを使用することです。

おそらく他のこの種のユーティリティが動作する可能性があり、Texterが構築されているAutoHotKeyでさえそれをより良く実行できますが、Texterは簡単です:-)


1

より簡単な方法は、cmdの代わりにWindows PowerShellを使用することです。それはtexterでうまくいきます。




1

Cygwinユーザーの場合、〜/ .bashrcファイルに以下を追加できます。

stty lnext ^q stop undef start undef

そして、あなたの〜/ .inputrcファイルに以下を追加します:

"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard

Cygwinターミナルを再起動します。

(ほとんどのコンソールではCTRL + cがbreak関数に割り当てられているため、コピーには大文字のCを使用していることに注意してください。試してみる季節です。)

ソース


1

「右クリック」の代わりに... Alt /スペースバーを押して、セッションを開始します(コマンドプロンプトウィンドウが表示されたら)。これにより、コマンドプロンプトウィンドウのメニューが開き、Windows GUIと同様に、おなじみの、下線付きのキーボードコマンドショートカットが表示されます。

幸運を!


1

私は次のように@PabloGの手順に従いました

  1. goto http://www.autohotkey.com/-autohotkeyをダウンロード
  2. 簡単なインストール手順に従ってください
  3. インストール後、次のように新しい* .ahkファイルを作成しますデスクトップで右クリック>新規> Autohotkeyスクリプト> giveAnyFileName.ahk
  4. このファイルを右クリック>編集
  5. 彼の回答で@PabloGによって与えられたコピーアンドペーストオートホットキースクリプト
  6. 保存して閉じます
  7. ファイルをダブルクリックして実行します
  8. これで、コマンドプロンプトでCtrl+ を使用vして貼り付けることができるはずです。

-4

VISTAコマンドプロンプトの下:システムアイコンをクリックします。メニューから[デフォルト]を選択します。[オプション]グループの[オプション]タブで、「クイック編集モード」、「挿入モード」、「自動完了」を選択しました「クイック編集モード」と思いますそれはそれを機能させるものです。

クリップボードの挿入ポイントにあるものを貼り付けるには:右クリック。コマンドウィンドウからコピーするにはマウスの左ボタンを押したまま、コピーしたいものの上にポインターをドラッグして選択します。


8
「マウスの右ボタンを使用する代わりに」
のどの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.