
Я пытаюсь запустить свой Cygwin.шпрограмма открывается, когда я нажимаю Windows Key + 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
Он пытается запустить sh
команду cygwin. ИспользуяWinWaitфункция, она проверяет, была ли она создана (используя заголовок окна "sh", который может потребоваться изменить). Если нет, она возвращается к run cmd
.
Другой вариант, если вы всегда знаете абсолютный путь sh.exe
, вы можете использоватьФайлСуществуетметод.
#r::
if FileExist("c:\cygwin\sh.exe")
Run sh
else
Run cmd
return
решение2
@yhw42's ответэто помогло мне начать, но я нашел более чистое решение:
WinR := "sh"
RunWait, where sh
if ErrorLevel
WinR := "cmd"
#r::Run %WinR%
Это использует команду Windows WHERE
иПеременные AutoHotkey.