
Estoy tratando de tener mi cygwin.shEl programa se abre cuando presiono la tecla Windows + R (esto podría aplicarse fácilmente a cualquier otra combinación de teclas), pero me doy cuenta de que es posible que no todas mis computadoras tengan cygwin instalado. En el caso de que mi computadora no tenga cygwin, me gustaría simplemente abrir el símbolo del sistema de Windows.
¿Cómo configuro condicionalmente la #r
asignación (Win+R) para lograr esto?
Respuesta1
Esto no está probado, pero debería ayudarle a comenzar:
#r::
Run sh
WinWait,sh,,1
if ErrorLevel
{
;it timed out waiting for sh (1 sec)
Run cmd
}
return
Intenta ejecutar el sh
comando cygwin. Utilizando elganaresperarfunción, verifica si se creó (usando un título de ventana de "sh", que puede ser necesario cambiar). Si no, vuelve a caer a run cmd
.
Otra opción, si siempre conoces la ruta absoluta de sh.exe
, puedes usar elarchivoexistirmétodo.
#r::
if FileExist("c:\cygwin\sh.exe")
Run sh
else
Run cmd
return
Respuesta2
La respuesta de @yhw42Me ayudó a empezar, pero encontré una solución más limpia:
WinR := "sh"
RunWait, where sh
if ErrorLevel
WinR := "cmd"
#r::Run %WinR%
Esto utiliza el WHERE
comando de Windows yVariables de teclas de acceso rápido automático.