Isso ativará Drag & Largue a qualquer script. Você pode colocar um deles na pasta SendTo e usá-lo depois.
Exportação de registro:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ShellFile]
[HKEY_CLASSES_ROOT\ShellFile\Shell]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open\Command]
@=hex(2):43,00,3a,00,5c,00,70,00,61,00,74,00,68,00,5f,00,65,00,78,00,74,00,5c,\
00,62,00,61,00,73,00,68,00,2e,00,65,00,78,00,65,00,20,00,2d,00,63,00,20,00,\
22,00,73,00,6f,00,75,00,72,00,63,00,65,00,20,00,24,00,30,00,3b,00,72,00,65,\
00,61,00,64,00,22,00,20,00,25,00,31,00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\ShellFile\ShellEx]
[HKEY_CLASSES_ROOT\ShellFile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"
A parte hexa é realmente "C:\cygwin\bin\bash.exe -c "source $0;read" %1 %*"
, que é codificada na exportação.
Você provavelmente desejará remover o read
após o teste, para poder escrever scripts que apenas executem uma tarefa sem deixar uma janela aberta. Se você precisar disso para scripts únicos, você sempre pode adicioná-lo ao final.
Use assoc .ext=ShellFile
após a importação para vincular qualquer extensão de arquivo desejada com essa funcionalidade. O DropHandler neste exemplo funciona para o Windows XP e o Windows 7 (provavelmente outros também) e basicamente significa "executar o comando, com todos os nomes de arquivos ignorados como argumentos".
Use isso como um script ( echotest.ext
) para testar a funcionalidade básica:
echo $0 $*;