Eu faço muitos scripts python - como blah.py, no meu diretório de scripts, que está no caminho. Quero apenas digitar "blá" para executar blah.py.
mas quando eu faço isso - o arquivo abre no código do visual studio?!
e não consigo entender por que - quando digito
> ftype | grep -i python
Python.ArchiveFile="C:\WINDOWS\py.exe" "%L" %*
Python.CompiledFile="C:\WINDOWS\py.exe" "%L" %*
Python.File="C:\WINDOWS\py.exe" "%L" %*
Python.NoConArchiveFile="C:\WINDOWS\pyw.exe" "%L" %*
Python.NoConFile="C:\WINDOWS\pyw.exe" "%L" %*
e então
> assoc | grep -i .py
.py=Python.File
.pyc=Python.CompiledFile
.pyd=Python.Extension
.pyo=Python.CompiledFile
.pyw=Python.NoConFile
.pyz=Python.ArchiveFile
.pyzw=Python.NoConArchiveFile
então, pela minha leitura, .py deve ser um Python.File, que deve executar C:\windows\py.exe.
alguma ideia? Até agora estou tendo que criar um arquivo .bat correspondente a cada arquivo .py - isso apenas o executa :(
Dado que você está mais familiarizado com o Unix, não tenho certeza se você se sente confortável com o Regedit e o registro do Windows.
Então, vamos fornecer uma ferramenta simples e bem conceituada para realizar essa tarefa sem solicitar que você edite manualmente o registro do Windows.
Primeiro baixe FileTypesMan da NirSoft. Foi escrito por Nir Sofer, um desenvolvedor conhecido e confiável. Não é de código aberto (infelizmente), mas Nir publica ferramentas gratuitas há mais de 15 anos com um histórico imaculado.
Agora siga estas etapas simples em FileTypesMan:
.py
tipo de arquivo no painel superior e clique nele.open
ação (Name
coluna) e clique duas vezes nela."C:\Windows\py.exe" "%1"
Default Action
caixa de seleção esteja marcada e aDisabled
caixa de seleção não esteja marcada e clique em OK para fechar a caixa de diálogo.Voilá. Você Terminou.
Agora você pode fechar FileTypesMan.
Dependendo da versão instalada do Windows, pode ser necessário reiniciar o shell. Se você não sabe como fazer isso programaticamente, faça logoff e faça login novamente. Ou, se preferir, reinicie.
Como Gerhard mencionou nos comentários, há um risco de segurança significativo em permitir que scripts sejam executados diretamente assim, mas você mencionou que entende os riscos e as compensações valem a pena para você. Simplesmente recapitulo esses comentários aqui nesta resposta para ajudar as pessoas no futuro, caso os comentários sejam excluídos.