
Estou tentando ter meu cygwinehprograma aberto quando eu pressiono Windows Key + R (isso poderia facilmente se aplicar a qualquer outra combinação de teclas), mas percebo que todos os meus computadores podem não ter o cygwin instalado. Caso meu computador não possua o cygwin, gostaria apenas de abrir o prompt de comando do Windows.
Como defino condicionalmente o #r
mapeamento (Win + R) para conseguir isso?
Responder1
Isso não foi testado, mas deve começar:
#r::
Run sh
WinWait,sh,,1
if ErrorLevel
{
;it timed out waiting for sh (1 sec)
Run cmd
}
return
Ele tenta executar o sh
comando cygwin. Usando oWinWaitfunção, ele verifica se foi criado (usando um título de janela "sh", que pode precisar ser alterado). Caso contrário, ele volta para run cmd
.
Outra opção, se você sempre souber o caminho absoluto de sh.exe
, poderá usar oArquivoExistirmétodo.
#r::
if FileExist("c:\cygwin\sh.exe")
Run sh
else
Run cmd
return
Responder2
Resposta de @yhw42me ajudou a começar, mas encontrei uma solução mais limpa:
WinR := "sh"
RunWait, where sh
if ErrorLevel
WinR := "cmd"
#r::Run %WinR%
Isso usa o WHERE
comando do Windows eVariáveis AutoHotkey.