web-dev-qa-db-ja.com

Windowsで実行するスクリプトを「登録」できますか?python

私はPython 2.5をWindowsにインストールしていますXPそして特定のディレクトリで利用可能なスクリプトのコレクションを持っています。これによると 記事 by AmandaバーミンガムPython実行可能ファイルのパスと、スクリプトが存在する場所のパスを設定できます。つまり、次のことができます。

c:\>python script.py

.pyファイルを登録して次のように実行できる方法はありますか?

c:\>script.py

スクリプトにShebangまたはenv行を含めないでください。

タイピングが少ないことは良いことです。 :)

6
Jonathon Watney

はい:)それは実際には FAQ#2

拡張子なしで「foo」と入力するだけでスクリプトを実行できるようにする場合は、PATHEXT環境変数に.pyを追加する必要があります。

編集:もちろん、PythonインストールディレクトリをPATHに追加し、システム全体またはユーザーPATHやPATHEXTを変更した場合は、コマンドインタープリターの別のインスタンスを起動することを忘れないでくださいそのコマンドインタプリタの外部の手段によって。

さらに編集:あなたの質問を誤解した場合:.py拡張子を入力せずにpythonスクリプトを起動することにのみ関心があると思います cmd.exeコマンドラインから。PATHEXTは、cmd.exeシェルに固有のメカニズムであり、他のシェル(およびCreateProcess()とその仲間)は気にしません。少なくともそれ。

6

PHPでもまったく同じ問題が発生しました。

http://php.net/manual/en/install.windows.legacy.index.php#install.windows.legacy.commandline (編集:PHPは「レガシー」になりました)

私が見つけた1つのことは、PHPスクリプトをフィルターとして使用できることでした...

DIR C:\ | scripts\script | more

(たとえば、scripts\scriptがa PHP script-注:いいえPHP参照)。

これにはレジストリの変更が必要です。 Windows上のこれらすべてのインタープリタータイプの言語(PHP、Python、Perl、Ruby)で動作します。

1

PATHEXTを使用すると、「。py」を省略できますが、それはあなたが求めていることではありませんよね?

ファイル拡張子をWindows上のアプリケーションに関連付ける場合は、次のことができます。

  1. エクスプローラウィンドウを開きます。
  2. [ツール]メニューから[フォルダオプション]を選択します。
  3. 「ファイルタイプ」タブをクリックします。
  4. [新規]ボタンをクリックします(PY/PYC/PYWがまだ存在しないと仮定します)。
  5. 拡張子(「py」、「pyc」、「pyw」など)を入力し、[OK]をクリックします
  6. 「変更...」ボタンをクリックします。
  7. 「リストからプログラムを選択」を選択します
  8. Pythonインタープリター(C:\ Python2Xのpython.exeまたはpythonw.exeなど)を見つけます
  9. 帰り道をOK。

これらはXPの説明です。 VistaとWin7は基本的に同じだと思いますが、おそらく他の方法でリストにアクセスできます。

0
Tony Meyer