Создание BAT-файла для скрипта Python - PullRequest
49 голосов
/ 31 декабря 2010

Как мне создать простой BAT-файл, который будет запускать мой скрипт на python, расположенный в C: \ somescript.py?

Ответы [ 10 ]

60 голосов
/ 31 декабря 2010
c:\python27\python.exe c:\somescript.py %*
41 голосов
/ 31 декабря 2010

Откройте командную строку ( ⊞ Win + R , cmd, ↵ Enter ) и введите python -V, ↵ Enter .

Вы должны получить ответ, что-то вроде Python 2.7.1.

Если нет, возможно, у вас не установлен Python.Сначала исправьте это.

Когда у вас есть Python, ваш командный файл должен выглядеть следующим образом:

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

После завершения работы скрипта окно команды будет оставаться открытым, поэтому вы сможете увидеть любые ошибки или сообщения.,Если вы довольны этим, вы можете удалить строку «пауза», и окно команд закроется автоматически, когда закончите.

11 голосов
/ 20 декабря 2014

Просто откройте командный файл, который содержит эти две строки в той же папке вашего скрипта Python:

somescript.py
pause
9 голосов
/ 14 января 2017

Вот как вы можете поместить как пакетный код, так и код Python в один файл:

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

print("python code")

''' соответственно начинается и заканчивается многострочными комментариями Python.

0<0# : ^ более интересен - из-за приоритета перенаправления в пакетном режиме он будет интерпретироваться как :0<0# ^ пакетным сценарием, который представляет собой метку, выполнение которой не будет отображаться на экране. Символ каретки в конце будет выходить из новой строки, а вторая строка будет присоединена к первой строке. Для python это будет оператор 0<0 и начало встроенного комментария.

Кредит идет на Сибирь-мужчина

5 голосов
/ 22 февраля 2017

Если вы добавили Python в PATH, вы также можете просто запустить его следующим образом.

python somescript.py
3 голосов
/ 02 июля 2017

--- 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 __name__ == "__main__":
     a = sys.argv[1]
     b = sys.argv[2]
     c = names(a, b) 
     if c:
        sys.exit(1)
    else:
        sys.exit(0)        
1 голос
/ 04 января 2019

Вы можете использовать код Python непосредственно в командном файле, https://gist.github.com/jadient/9849314.

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

См. Объяснение, Параметр командной строки Python -x .

1 голос
/ 19 ноября 2018

Если это BAT-файл в другом каталоге, чем текущий, вы можете увидеть ошибку вроде «python: не удается открыть файл« somescript.py »: [Errno 2] Нет такого файла или каталога».Это можно исправить, указав абсолютный путь к BAT-файлу, используя %~dp0 (буква диска и путь к этому пакетному файлу ).

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

(Таким образом, вы можете игнорироватьc:\ или что-то еще, потому что, возможно, вы захотите переместить этот скрипт)

0 голосов
/ 08 мая 2019
ECHO OFF
set SCRIPT_DRIVE = %1
set SCRIPT_DIRECTORY = %2
%SCRIPT_DRIVE%
cd %SCRIPT_DRIVE%%SCRIPT_DIRECTORY%
python yourscript.py`
0 голосов
/ 23 января 2019

start xxx.py

Вы можете использовать это для некоторых других типов файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...