A veces (en las PC del cliente) Necesito un script de python para ejecutar en el shell de Windows como un .CMD o .BAT, pero sin tener el .py o extensiones .pyw asociadas con PYTHON/PYTHONW.Script de python "Bootstrap" en el shell de Windows sin asociaciones .py/.pyw
he salido con un par de soluciones 'sucias' Quick'n:
1)
"""
e:\devtool\python\python.exe %0 :: or %PYTHONPATH%\python.exe
goto eof:
"""
# Python test
print "[works, but shows shell errors]"
2)
@echo off
for /f "skip=4 delims=xxx" %%l in (%0) do @echo %%l | e:\devtools\python\python.exe
goto :eof
::----------
# Python test
print "[works better, but is somewhat messy]"
¿Conoce una solución mejor? (Es decir: más concisa o elegante)
Actualización:
basado en respuesta @van, la forma más concisa que encontré (sin establecer ERRORLEVEL)
@e:\devtools\python\python.exe -x "%~f0" %* & exit /b
### Python begins....
import sys
for arg in sys.argv:
print arg
raw_input("It works!!!\n")
###
No veo nada malo con su segunda solución (aparte de que '||' debe ser '|'). No es súper elegante, pero hace el trabajo bien. –
Typo, corregido, thx. – PabloG