我有一個批處理文件,它嘗試運行第一行指定的程序。類似Unix的shebang:從同一批處理文件中讀取批處理文件的第一行?
C:\> more foo.bat
#!C:\Python27\python.exe
%PYTHON% foo-script.py
C:\>
我想知道的是:有沒有辦法來自動設置%PYTHON%
到C:\Python27\python.exe
這是在家當(#!
)以下腳本的第一行中指定?
背景:我想這樣做,以便明確指定Python解釋器在包裝腳本中調用(因爲系統上安裝了多個Python解釋器)。
假設:你可以假設腳本已經知道它自己的文件名(foo
)和%~dp0
是這個腳本的目錄。我們如何閱讀不包括shebang的第一行?
澄清:將C:\ PythonXY添加到%PATH%不是解決方案。 shebang行應該在安裝期間被修改(原始腳本僅在構建機器上生成)在用戶的機器上..可能有多個相同版本的Python安裝。只有shebang行是可修改的(這是程序的工作原理)。
爲什麼不把C:\ Python27添加到Windows PATH環境變量? – Yada 2010-01-27 01:20:12
@Yada:C:\ Python27已經在PATH中;但是,C:\ Python25,C:\ Python26,C:\ Python31等也是如此。此外,該腳本的shebang將在安裝期間被*修改*。 – 2010-01-27 01:24:26