有时(在客户的PC中)我需要一个python脚本来在Windows shell中执行,如.CMD或.BAT,但不需要.py或与PYTHON/PYTHONW相关的.pyw扩展名。没有.py/.pyw关联的Windows shell中的“Bootstrap”python脚本
我想出了一对 '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]"
你知道一个更好的解决方案? (即:更简洁或优雅)
更新:
基于@van答案,我发现(不设置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")
###
我没有看到你的第二个解决方案有什么问题(除了'||'应该是'|')。这不是超级优雅,但它完成了工作。 – 2010-03-18 19:03:58
错字,更正,thx。 – PabloG 2010-03-18 19:13:16