Você pode criar a Macro em Chaves & Macro e escolha qualquer tecla de atalho.
Shell("",@"c:\cygwin\cygwin.bat")
UPD . Ou crie uma tarefa e escolha a tecla de atalho para ela.
cmd /k c:\cygwin\cygwin.bat
Quanto à segunda parte da pergunta ... Você pode fazer isso por meio de um arquivo bat adicional, por exemplo
c: \ dir1 \ runner.bat
@echo off
setlocal
cd /d "%~dp0"
set b=.
for /D %%g in (*) do set b=%%g
if not "%b%"=="." "%~dp0%b%\test.bat"
E execute-o com Macro ("new_console: n" significa "Desativar 'Pressione enter ...' confirmação")
Shell("new_console:n",@"c:\dir1\runner.bat")