
나는 cygwin을 가지려고 노력 중이야쉿Windows 키 + R을 누르면 프로그램이 열리지만(다른 키 조합에도 쉽게 적용될 수 있음) 모든 컴퓨터에 cygwin이 설치되어 있지 않을 수도 있다는 것을 깨달았습니다. 내 컴퓨터에 cygwin이 없는 경우 Windows 명령 프롬프트를 열고 싶습니다.
#r
이를 달성하기 위해 조건부로 (Win+R) 매핑을 설정하려면 어떻게 해야 합니까 ?
답변1
아직 테스트되지 않았지만 시작하려면 다음 단계를 따르세요.
#r::
Run sh
WinWait,sh,,1
if ErrorLevel
{
;it timed out waiting for sh (1 sec)
Run cmd
}
return
cygwin 명령을 실행하려고 시도합니다 sh
. 사용하여WinWait함수를 사용하여 생성되었는지 확인합니다(창 제목 "sh"를 사용하여 변경해야 할 수도 있음). 그렇지 않은 경우 로 돌아갑니다 run cmd
.
또 다른 옵션은 의 절대 경로를 항상 알고 있는 경우 sh.exe
다음을 사용할 수 있습니다.파일존재방법.
#r::
if FileExist("c:\cygwin\sh.exe")
Run sh
else
Run cmd
return
답변2
@yhw42의 답변시작하게 되었지만 더 깔끔한 솔루션을 찾았습니다.
WinR := "sh"
RunWait, where sh
if ErrorLevel
WinR := "cmd"
#r::Run %WinR%
이는 Windows WHERE
명령을 사용하고오토핫키 변수.