Você está muito em conflito com o modelo da Microsoft para arquivos. No modelo POSIX, o nome do arquivo não determina se um arquivo é executável. Essa é apenas a província das permissões. No modelo da Microsoft usado no Windows Explorer, se um arquivo é executável também é determinado pelo seu arquivo nome , em particular pela extensão. Daí o comando FTYPE
, o comando ASSOC
, a variável de ambiente PATHEXT
e assim por diante.
Então, com a ressalva de que isso é restrito a arquivos com a extensão .CMD
, para se adequar ao modelo mencionado, na verdade é uma extensão que passará os arquivos que começam com #!
para o interpretador de script nomeado nessa linha. É a TCC da JP Software , um interpretador de comandos de substituição que tem #!
e EXTPROC
support . Pode-se dizer ao Explorer para entregar todos os arquivos .CMD
para o TCC, que por sua vez lerá o #!
e passará para o intérprete de script nomeado.
Se você quiser usar #!
com qualquer outra extensão de arquivo no Explorer, você atingirá o conflito de paradigmas e terá que passar a usar associações de extensões de arquivo, assim como a pessoa com o script CGI fez no artigo com hiperlink para new123456
. A extensão que determina o interpretador de script, não os números mágicos no conteúdo do arquivo, é o paradigma usado pelo Windows Explorer.