web-dev-qa-db-ja.com

pythonスクリプト用のBATファイルの作成

C:\ somescript.pyにあるpythonスクリプトを実行する簡単なBATファイルを作成するにはどうすればよいですか?

50
Josh
c:\python27\python.exe c:\somescript.py %*
60
MK.

コマンドラインを開きます(⊞ Win+Rcmd、 ↵ Enter)およびpython -Vと入力し、 ↵ Enter

Python 2.7.1のような応答が返されるはずです。

そうしないと、Pythonがインストールされていない可能性があります。最初にこれを修正してください。

Pythonができたら、バッチファイルは次のようになります。

@echo off
python c:\somescript.py %*
pause

これにより、スクリプトの終了後にコマンドウィンドウが開いたままになり、エラーやメッセージを確認できます。それに満足したら、「一時停止」行を削除し、終了するとコマンドウィンドウが自動的に閉じます。

42
Hugh Bothwell

pythonスクリプトの同じフォルダーで、次の2行を含むバッチファイルを開くだけです。

somescript.py
pause
11
Pheng-Khai Tan

バッチコードとpythonの両方を1つのファイルに入れる方法は次のとおりです。

0<0# : ^
''' 
@echo off
echo batch code
python %~f0 %*
exit /b 0
'''

print("python code")

'''はそれぞれpython複数行コメントを開始および終了します。

0<0# : ^はより興味深い-バッチのリダイレクト優先順位のため、バッチスクリプトによって:0<0# ^のように解釈されます。バッチスクリプトは、実行が画面に表示されないラベルです。末尾のキャレットは新しい行をエスケープし、2行目は1行目に添付されます。pythonの場合は、0<0ステートメントとインラインコメントの開始になります。

クレジットは siberia-man になります

9
npocmaka

PythonをPATHに追加した場合は、次のように実行することもできます。

python somescript.py
5
Chris Farr

--- xxx.bat ---

@echo off
set NAME1="Marc"
set NAME2="Travis"
py -u "CheckFile.py" %NAME1% %NAME2%
echo %ERRORLEVEL%
pause

--- yyy.py ---

import sys
import os
def names(f1,f2):

    print (f1)
    print (f2)
    res= True
    if f1 == "Travis":
         res= False
    return res

if __== "__main__":
     a = sys.argv[1]
     b = sys.argv[2]
     c = names(a, b) 
     if c:
        sys.exit(1)
    else:
        sys.exit(0)        
3
Pierone

pythonコードをバッチファイルで直接使用できます https://Gist.github.com/jadient/9849314

@echo off & python -x "%~f0" %* & goto :eof
import sys
print("Hello World!")

Pythonコマンドライン-xオプション の説明を参照してください。

2
Hans Ginzel

これが現在のディレクトリとは異なるディレクトリにあるBATファイルの場合、「python:ファイル 'somescript.py'を開けません:[Errno 2] No such file or directory」のようなエラーが表示される場合があります。これは、%~dp0そのバッチファイルのドライブ文字とパス )を使用してBATファイルへの絶対パスを指定することで修正できます。

@echo off
python %~dp0\somescript.py %*

(この方法では、c:\などを無視できます。おそらく、このスクリプトを移動する必要があるためです)

1
Mike T

xxx.pyを開始

これは他のいくつかのファイルタイプに使用できます。

0
nxttym

私はこれを行い、動作します:私はプロジェクトをDに持っています:バッチファイルはデスクトップにあります、同じドライブにある場合、最初の行を無視し、2行目のde Dディレクトリを変更します

2行目に、ファイルのフォルダーを変更し、フォルダーを配置します

3行目でファイルの名前を変更します

D: cd D:\python_proyects\example_folder\ python example_file.py

0
yago
ECHO OFF
set SCRIPT_DRIVE = %1
set SCRIPT_DIRECTORY = %2
%SCRIPT_DRIVE%
cd %SCRIPT_DRIVE%%SCRIPT_DIRECTORY%
python yourscript.py`
0
Mandar Deshkar