마우스 오른쪽 단추를 사용하는 대신 클립 보드의 내용을 Windows XP의 명령 프롬프트 창에 붙여 넣을 수있는 바로 가기 키가 있습니까?
일반적인 Shift+ Insert는 작동하지 않는 것 같습니다.
마우스 오른쪽 단추를 사용하는 대신 클립 보드의 내용을 Windows XP의 명령 프롬프트 창에 붙여 넣을 수있는 바로 가기 키가 있습니까?
일반적인 Shift+ Insert는 작동하지 않는 것 같습니다.
답변:
개인적으로 작은 AutoHotkey 스크립트를 사용하여 특정 키보드 기능을 다시 매핑합니다.
; 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
예 .. 그러나 어색합니다. 링크
alt+ Space, e, k<- 복사 및 대한
alt+ Space, e, p<- 붙여 넣기합니다.
실제로 프로그래밍과 관련이 없지만 Google 에서 이것을 발견 했습니다 . 직접 키보드 단축키 는 없지만 조금 더 빠릅니다.
고마워 Pablo, 내가 찾던 것! 그러나 스크립트를 약간 향상시킬 수 있다면 ^ 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 사용의 장점은
클립 보드에 "!", "+", "^"또는 "#"이 포함 된 경우 SendInput 명령에 "{Raw}"를 포함시키는 것이 중요합니다.
초과 Windows 캐리지 리턴 문자를 제거하기 위해 StringReplace를 사용합니다. 그 제안에 감사합니다.
ctrl-v
콘솔에서 '네이티브'느낌을 준다
ctrl+v
올바르게 붙여 넣을뿐만 아니라 문자열 실행을 시작합니다 ( enter
나중에 누른 것과 같습니다 ). 어떻게 방지 할 수 있습니까?
clink라는 훌륭한 오픈 소스 도구 도 있습니다.이 도구는 많은 기능으로 cmd를 확장합니다. 그들 중 하나는 ctrl + v를 사용하여 텍스트를 삽입 할 수 있습니다.
Windows 10의 경우 명령 프롬프트에서 + 및 + 를 사용하도록 설정할 수 있습니다CtrlCCtrlV .
이론적으로 DOS 프롬프트의 응용 프로그램에는 자체 클립 보드와 바로 가기가 있습니다. Windows 클립 보드에서 텍스트를 가져 오는 것은 "추가"입니다. 그러나 Alt-Space를 사용하여 프롬프트 창의 시스템 메뉴를 연 다음 E, P를 눌러 편집, 붙여 넣기 메뉴를 선택할 수 있습니다. 그러나 MS는 Win 키를 사용하여 바로 가기를 제공 할 수 있습니다. DOS 응용 프로그램에서 사용될 가능성은 없습니다.
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
그리 간단하지 않습니다 ...
당신은 Texter를 사용해보십시오 하고 같은 가능성이 무언가를 창조 :
공백으로 트리거되고 텍스트를 % c로 바꿉니다.
방금 테스트했으며 정상적으로 작동합니다. Texter는 이것을 cmd로 제한 할 수 없으므로 유일한 문제는 드문 시퀀스를 사용하는 것입니다.
아마도 이런 종류의 다른 유틸리티가있을 수 있으며, Texter가 빌드 된 AutoHotKey 조차도 더 잘 할 수 있지만 Texter는 쉽습니다 :-)
최근에 명령 프롬프트가 마우스 오른쪽 버튼을 클릭하여 상황에 맞는 메뉴를 지원한다는 것을 알았습니다. 자세한 내용은 여기를 참조하십시오 : http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
나는 다음과 같이 @PabloG의 단계를 따랐다.
VISTA 명령 프롬프트에서 : 시스템 아이콘을 클릭하십시오. 메뉴에서 기본값을 선택하십시오. 옵션 그룹의 옵션 탭에서 "빠른 편집 모드", "삽입 모드"및 "자동 완성"을 선택했습니다. "빠른 편집 모드"라고 생각합니다. 그것이 작동하게 만드는 것입니다.
삽입 점에 클립 보드에있는 내용을 붙여 넣으려면 마우스 오른쪽 단추를 클릭하십시오. 명령 창에서 복사하려면 마우스 왼쪽 버튼을 누른 상태에서 포인터를 복사 할 항목으로 끌어서 선택합니다. 선택한 후 마우스 오른쪽 버튼을 클릭합니다 삽입 점에 붙여 넣으려면 마우스 오른쪽 버튼을 다시 클릭합니다.