Я пытаюсь иметь свой cygwin sh программа, открытая, когда я поразил Windows Key + R (это могло столь же легко относиться к любому другому сочетанию клавиш), но я понимаю, что все мои компьютеры не могут иметь установленного cygwin. В случае, где мой компьютер не имеет cygwin, я хотел бы просто открыть Windows Command Prompt.
Как я условно устанавливаю #r
(Win+R), отображающийся для достижения этого?
Ответ @yhw42 действительно запускал меня, но я нашел более чистое решение:
WinR := "sh"
RunWait, where sh
if ErrorLevel
WinR := "cmd"
#r::Run %WinR%
Это использует Windows WHERE
команда и переменные AutoHotkey.
Это не тестируется, но должно запустить Вас:
#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
, можно использовать метод FileExist.
#r::
if FileExist("c:\cygwin\sh.exe")
Run sh
else
Run cmd
return