Запуск python скрипта в windows bat

How can I create a simple BAT file that will run my python script located at C:\somescript.py?

Nathaniel Jones's user avatar

asked Dec 31, 2010 at 16:51

Josh's user avatar

c:\python27\python.exe c:\somescript.py %*

answered Dec 31, 2010 at 16:55

MK.'s user avatar

MK.MK.

33.7k18 gold badges74 silver badges111 bronze badges

12

Open a command line (⊞ Win+R, cmd, ↵ Enter)
and type python -V, ↵ Enter.

You should get a response back, something like Python 2.7.1.

If you do not, you may not have Python installed. Fix this first.

Once you have Python, your batch file should look like

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

This will keep the command window open after the script finishes, so you can see any errors or messages. Once you are happy with it you can remove the ‘pause’ line and the command window will close automatically when finished.

Nuno André's user avatar

Nuno André

4,7791 gold badge34 silver badges46 bronze badges

answered Dec 31, 2010 at 20:10

Hugh Bothwell's user avatar

Hugh BothwellHugh Bothwell

55.4k8 gold badges84 silver badges99 bronze badges

6

Here’s how you can put both batch code and the python one in single file:

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

print("python code")

the ''' respectively starts and ends python multi line comments.

0<0# : ^ is more interesting — due to redirection priority in batch it will be interpreted like :0<0# ^ by the batch script which is a label which execution will be not displayed on the screen. The caret at the end will escape the new line and second line will be attached to the first line.For python it will be 0<0 statement and a start of inline comment.

The credit goes to siberia-man

answered Jan 14, 2017 at 15:55

npocmaka's user avatar

npocmakanpocmaka

55.6k18 gold badges148 silver badges188 bronze badges

4

Just simply open a batch file that contains this two lines in the same folder of your python script:

somescript.py
pause

answered Dec 20, 2014 at 6:15

sven tan's user avatar

sven tansven tan

1493 silver badges14 bronze badges

3

If you’ve added Python to your PATH then you can also simply run it like this.

python somescript.py

answered Feb 22, 2017 at 16:56

Chris Farr's user avatar

Chris FarrChris Farr

3,6401 gold badge21 silver badges24 bronze badges

3

— 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)        

answered Jul 2, 2017 at 16:23

Pierone's user avatar

Similar to npocmaka’s solution, if you are having more than one line of batch code in your batch file besides the python code, check this out: http://lallouslab.net/2017/06/12/batchography-embedding-python-scripts-in-your-batch-file-script/

@echo off
rem = """
echo some batch commands
echo another batch command
python -x "%~f0" %*
echo some more batch commands
goto :eof

"""
# Anything here is interpreted by Python
import platform
import sys
print("Hello world from Python %s!\n" % platform.python_version())
print("The passed arguments are: %s" % sys.argv[1:])

What this code does is it runs itself as a python file by putting all the batch code into a multiline string. The beginning of this string is in a variable called rem, to make the batch code read it as a comment. The first line containing @echo off is ignored in the python code because of the -x parameter.

it is important to mention that if you want to use \ in your batch code, for example in a file path, you’ll have to use r"""...""" to surround it to use it as a raw string without escape sequences.

@echo off
rem = r"""
...
"""

answered Dec 9, 2019 at 12:27

Michael Villani's user avatar

1

This is the syntax:
«python.exe path»»python script path»pause

"C:\Users\hp\AppData\Local\Programs\Python\Python37\python.exe" "D:\TS_V1\TS_V2.py"
pause

Basically what will be happening the screen will appear for seconds and then go off take care of these 2 things:

  1. While saving the file you give extension as bat file but save it as a txt file and not all files and Encoding ANSI
  2. If the program still doesn’t run save the batch file and the python script in same folder and specify the path of this folder in Environment Variables.

answered Mar 2, 2020 at 4:08

Harshal SG's user avatar

Harshal SGHarshal SG

4033 silver badges7 bronze badges

If this is a BAT file in a different directory than the current directory, you may see an error like «python: can’t open file ‘somescript.py’: [Errno 2] No such file or directory». This can be fixed by specifying an absolute path to the BAT file using %~dp0 (the drive letter and path of that batch file).

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

(This way you can ignore the c:\ or whatever, because perhaps you may want to move this script)

answered Nov 19, 2018 at 0:28

Mike T's user avatar

Mike TMike T

41.2k18 gold badges153 silver badges203 bronze badges

Use any text editor and save the following code as runit.bat

@echo off
title Execute Python [NarendraDwivedi.Org]
:main
echo.
set/p filename=File Name :
echo. 
%filename%
goto main

Now place this file in the folder where python script is present. Run this file and enter python script’s file name to run python program using batch file (cmd)

Reference : Narendra Dwivedi — How To Run Python Using Batch File

answered Jan 25, 2022 at 12:45

Markrum's user avatar

MarkrumMarkrum

491 silver badge3 bronze badges

Create an empty file and name it «run.bat»

In my case i use «py» because it’s more convenient, try:

C:
cd C:\Users\user\Downloads\python_script_path
py your_script.py

answered Nov 21, 2022 at 6:17

mikulabc's user avatar

mikulabcmikulabc

1112 silver badges7 bronze badges

@echo off
call C:\Users\[user]\Anaconda3\condabin\conda activate base
"C:\Users\[user]\Anaconda3\python.exe" "C:\folder\[script].py"

answered Dec 1, 2022 at 18:41

José Ignacio López Sáez's user avatar

ECHO OFF
set SCRIPT_DRIVE = %1
set SCRIPT_DIRECTORY = %2
%SCRIPT_DRIVE%
cd %SCRIPT_DRIVE%%SCRIPT_DIRECTORY%
python yourscript.py`

ifconfig's user avatar

ifconfig

6,2687 gold badges41 silver badges66 bronze badges

answered May 8, 2019 at 0:01

Mandar Deshkar's user avatar

1

i did this and works:
i have my project in D: and my batch file is in the desktop, if u have it in the same drive just ignore the first line and change de D directory in the second line

in the second line change the folder of the file, put your folder

in the third line change the name of the file

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

answered Aug 28, 2019 at 17:27

yago's user avatar

yagoyago

594 bronze badges

start xxx.py

You can use this for some other file types.

answered Jan 22, 2019 at 21:16

nxttym's user avatar

How can I create a simple BAT file that will run my python script located at C:\somescript.py?

Nathaniel Jones's user avatar

asked Dec 31, 2010 at 16:51

Josh's user avatar

c:\python27\python.exe c:\somescript.py %*

answered Dec 31, 2010 at 16:55

MK.'s user avatar

MK.MK.

33.7k18 gold badges74 silver badges111 bronze badges

12

Open a command line (⊞ Win+R, cmd, ↵ Enter)
and type python -V, ↵ Enter.

You should get a response back, something like Python 2.7.1.

If you do not, you may not have Python installed. Fix this first.

Once you have Python, your batch file should look like

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

This will keep the command window open after the script finishes, so you can see any errors or messages. Once you are happy with it you can remove the ‘pause’ line and the command window will close automatically when finished.

Nuno André's user avatar

Nuno André

4,7791 gold badge34 silver badges46 bronze badges

answered Dec 31, 2010 at 20:10

Hugh Bothwell's user avatar

Hugh BothwellHugh Bothwell

55.4k8 gold badges84 silver badges99 bronze badges

6

Here’s how you can put both batch code and the python one in single file:

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

print("python code")

the ''' respectively starts and ends python multi line comments.

0<0# : ^ is more interesting — due to redirection priority in batch it will be interpreted like :0<0# ^ by the batch script which is a label which execution will be not displayed on the screen. The caret at the end will escape the new line and second line will be attached to the first line.For python it will be 0<0 statement and a start of inline comment.

The credit goes to siberia-man

answered Jan 14, 2017 at 15:55

npocmaka's user avatar

npocmakanpocmaka

55.6k18 gold badges148 silver badges188 bronze badges

4

Just simply open a batch file that contains this two lines in the same folder of your python script:

somescript.py
pause

answered Dec 20, 2014 at 6:15

sven tan's user avatar

sven tansven tan

1493 silver badges14 bronze badges

3

If you’ve added Python to your PATH then you can also simply run it like this.

python somescript.py

answered Feb 22, 2017 at 16:56

Chris Farr's user avatar

Chris FarrChris Farr

3,6401 gold badge21 silver badges24 bronze badges

3

— 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)        

answered Jul 2, 2017 at 16:23

Pierone's user avatar

Similar to npocmaka’s solution, if you are having more than one line of batch code in your batch file besides the python code, check this out: http://lallouslab.net/2017/06/12/batchography-embedding-python-scripts-in-your-batch-file-script/

@echo off
rem = """
echo some batch commands
echo another batch command
python -x "%~f0" %*
echo some more batch commands
goto :eof

"""
# Anything here is interpreted by Python
import platform
import sys
print("Hello world from Python %s!\n" % platform.python_version())
print("The passed arguments are: %s" % sys.argv[1:])

What this code does is it runs itself as a python file by putting all the batch code into a multiline string. The beginning of this string is in a variable called rem, to make the batch code read it as a comment. The first line containing @echo off is ignored in the python code because of the -x parameter.

it is important to mention that if you want to use \ in your batch code, for example in a file path, you’ll have to use r"""...""" to surround it to use it as a raw string without escape sequences.

@echo off
rem = r"""
...
"""

answered Dec 9, 2019 at 12:27

Michael Villani's user avatar

1

This is the syntax:
«python.exe path»»python script path»pause

"C:\Users\hp\AppData\Local\Programs\Python\Python37\python.exe" "D:\TS_V1\TS_V2.py"
pause

Basically what will be happening the screen will appear for seconds and then go off take care of these 2 things:

  1. While saving the file you give extension as bat file but save it as a txt file and not all files and Encoding ANSI
  2. If the program still doesn’t run save the batch file and the python script in same folder and specify the path of this folder in Environment Variables.

answered Mar 2, 2020 at 4:08

Harshal SG's user avatar

Harshal SGHarshal SG

4033 silver badges7 bronze badges

If this is a BAT file in a different directory than the current directory, you may see an error like «python: can’t open file ‘somescript.py’: [Errno 2] No such file or directory». This can be fixed by specifying an absolute path to the BAT file using %~dp0 (the drive letter and path of that batch file).

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

(This way you can ignore the c:\ or whatever, because perhaps you may want to move this script)

answered Nov 19, 2018 at 0:28

Mike T's user avatar

Mike TMike T

41.2k18 gold badges153 silver badges203 bronze badges

Use any text editor and save the following code as runit.bat

@echo off
title Execute Python [NarendraDwivedi.Org]
:main
echo.
set/p filename=File Name :
echo. 
%filename%
goto main

Now place this file in the folder where python script is present. Run this file and enter python script’s file name to run python program using batch file (cmd)

Reference : Narendra Dwivedi — How To Run Python Using Batch File

answered Jan 25, 2022 at 12:45

Markrum's user avatar

MarkrumMarkrum

491 silver badge3 bronze badges

Create an empty file and name it «run.bat»

In my case i use «py» because it’s more convenient, try:

C:
cd C:\Users\user\Downloads\python_script_path
py your_script.py

answered Nov 21, 2022 at 6:17

mikulabc's user avatar

mikulabcmikulabc

1112 silver badges7 bronze badges

@echo off
call C:\Users\[user]\Anaconda3\condabin\conda activate base
"C:\Users\[user]\Anaconda3\python.exe" "C:\folder\[script].py"

answered Dec 1, 2022 at 18:41

José Ignacio López Sáez's user avatar

ECHO OFF
set SCRIPT_DRIVE = %1
set SCRIPT_DIRECTORY = %2
%SCRIPT_DRIVE%
cd %SCRIPT_DRIVE%%SCRIPT_DIRECTORY%
python yourscript.py`

ifconfig's user avatar

ifconfig

6,2687 gold badges41 silver badges66 bronze badges

answered May 8, 2019 at 0:01

Mandar Deshkar's user avatar

1

i did this and works:
i have my project in D: and my batch file is in the desktop, if u have it in the same drive just ignore the first line and change de D directory in the second line

in the second line change the folder of the file, put your folder

in the third line change the name of the file

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

answered Aug 28, 2019 at 17:27

yago's user avatar

yagoyago

594 bronze badges

start xxx.py

You can use this for some other file types.

answered Jan 22, 2019 at 21:16

nxttym's user avatar

In this guide, you’ll see the full steps to create a batch file to run a Python script.

But before we begin, here is the batch file template that you can use to run your Python script:

@echo off
"Path where your Python exe is stored\python.exe" "Path where your Python script is stored\script_name.py"
pause

Step 1: Create the Python Script

To start, create your Python Script.

For example, let’s create a simple Python script that contains a countdown (alternatively, you may use any Python script):

import time

countdown = 5

while countdown > 0:
    print('Countdown = ', countdown)
    countdown = countdown - 1
    time.sleep(1)

Step 2: Save your Script

Save your Python script (your Python script should have the extension of ‘.py‘).

For our example, let’s save the Python script as: final_countdown.py

  • Where the file extension is .py

Step 3: Create the Batch File to Run the Python Script

To create the batch file, open Notepad and then use the following template:

@echo off
"Path where your Python exe is stored\python.exe" "Path where your Python script is stored\script_name.py"
pause

You’ll need to adjust the syntax in two places:

(1) “Path where your Python exe is stored\python.exe”
You can locate the path where your Python exe is stored by following these steps:

  • Type “Python” in the Windows Search Bar
  • Right-click on the Python App, and then select “Open file location
  • Right-click again on the Python shortcut, and then select “Open file location

Here is an example of a path where the Python exe is located (don’t forget to add “\python.exe” at the end of the path):

"C:\Users\Ron\AppData\Local\Programs\Python\Python311\python.exe"

(2) “Path where your Python script is stored\script_name.py”
Here is an example of a path where the Python script is located (don’t forget to add “.py” at the end of the path):

"C:\Users\Ron\Desktop\Test\final_countdown.py"

Note that you’ll need to change the paths based on where the files are stored on your computer.

This is how the batch script would look like in Notepad for our example:

@echo off
"C:\Users\Ron\AppData\Local\Programs\Python\Python311\python.exe" "C:\Users\Ron\Desktop\Test\final_countdown.py"
pause

Save the Notepad with a ‘.bat‘ extension. For example, let’s save the Notepad as run_countdown.bat

A new batch file, called “run_countdown.bat,” will be created at your specified location.

Step 4: Run the Batch File

Finally, double-click on the batch file in order to run the Python script.

You’ll then get the countdown as follows:

Countdown =  5
Countdown =  4
Countdown =  3
Countdown =  2
Countdown =  1

You may also want to check the following source that contains additional guides about batch scripts.

A Two-Part Post that Shows You How to Automate Your Python Script Execution

PART
1: Create a Batch File to Execute a Python Script

One of the most important things I do on my virtual machine is automate batch jobs. Let’s say I want to send Susie an automated email reported generated via a Python script at 6 am every day—I want to automate the task of generating and sending that email via Python using a batch job on my virtual machine (VM). This tutorial walks you through automating the process and setting up your computer (or VM) to run Python jobs on a schedule.

First, we select a Python script that we want to automatically execute. The one I’ve picked below is named python_example_script.py:

"""
This is the sample Python file that we want to automate in batch mode
"""
import pandas as pd

def main():
    #Create a dummy pandas dataframe 
    dummy_df=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
    #Write the dataframe to a csv
    dummy_df.to_csv('sample_dummy_file.csv')
    print('Automating the boring work makes our lives so much better!')
    
if __name__== "__main__":
  main()

Above is a very simple Python script, where we generate a pandas dataframe and save it to a csv, called sample_dummy_file.csv. We then output a print statement.

Next, we create a .bat file that will automatically execute the Python script from the Windows command line.

We want to call the Python script directly
from the Command Prompt and execute it. I have saved the Python script that I
want to execute under my Documents/Blog/BatchMode directory, so I locate the
directory path:

Locate the Python script in the File Folder that we want to automate

Highlighted is the Python file that we want
to automate, python_example_script.py, as well as the Directory Path.

I open a fresh Notepad document and type the following:

cd "C:\Users\Documents\Blog\BatchMode"

python python_example_script.py

Let’s walk through what the above script means:

The ‘cd’ command at the beginning references the change directory. It is the OS command to change the current working directory.

The directory that we want to point to in question is referenced immediately after cd—”C:\Users\Documents\Blog\BatchMode”. We need to point to this directory for the command prompt to find the python_example_script.py file.

To get the EXACT directory path that we want to reference, we right click on the ‘BatchMode’ file path in the file folder, and press ‘Copy address as text’. This will save the exact directory path that we want to use, and we can paste it right after the cd command.

Get the file directory name that your Python file is sitting in

On the second line of the file is the ‘python’ statement. This is telling the Command Prompt that we want the Python.exe application to perform an action; in this case, execute the python_example_script.py, which is right after the ‘python’ command.

IMPORTANT: For the Command Prompt to recognize ‘python’ as an application, the python application needs to be added to the Windows PATH. When you first installed Python, you had the option to add Python to the Windows Path. If you enabled this option—great, you should be good to go! If not, you’ll need to add Python to the Windows Path. This tutorial walks you through how to do this.

Finally, we want to save the batch file
that we have just created in Python. When we save the file, we want to save it
as a .bat file, as shown below:

Be sure to save your file as a .bat extension!

Be sure to use ‘All Files’ under the ‘Save as type’ option, or you won’t be able to save the file as a .bat extension!

Finally, we execute the batch file to ensure that it works properly.

We find the .bat file in the in the BatchMode directory that we just created, and we simply press on it. The Command Prompt should automatically open, and the script should start executing, as shown below:

Executing the Python batch file: the python file will execute via the command line when the batch file is manually pressed

As you can see, the Command Prompt opens in the “C:\Users\Documents\Blog\BatchMode” directory, and we execute the python_example_script.py file!

This concludes Part 1 of this tutorial. If you want to learn how to schedule this Python file to run automatically using Windows Task Scheduler, read on to Part 2 of this tutorial.

As always, the code for this tutorial is available for your viewing pleasure via my GitHub account, under the following URL:

https://github.com/kperry2215/batch_mode_script_automation

Thanks for reading!

Если вы хотите запустить python скрипт на Windows, вы можете использовать bat файл. Bat файл — это batch файл, который содержит команды для выполнения Windows.

Чтобы создать bat файл для запуска скрипта Python, вам нужно создать новый текстовый файл, вставить следующий код и заменить «name_of_script.py» на имя вашего скрипта:

python path/to/script/name_of_script.py

После того, как вы создали bat файл, сохраните его с расширением .bat. Затем, чтобы запустить его, дважды щелкните по файлу bat.

Наиболее распространенным использованием bat файлов для запуска Python скриптов является автоматизация рутинных задач, таких как запуск скрипта на определенное время или при определенных условиях.

Например, вы можете создать bat файл для запуска скрипта каждый день в определенное время с помощью планировщика задач Windows:

python C:/path/to/script/name_of_script.py
pause

Эта команда укажет Windows запустить скрипт каждый день в 10:00 утра. Параметр «pause» позволит вам увидеть результаты скрипта перед закрытием командной строки.

Python в .EXE ► КАК?

Планирование и автозапуск Python скриптов по времени

Как запускать программы на Python файлы .py в Windows 10

How to make a Batch (bat) script to run a Python file from an environment

КРИПТА БЕЗ ВЛОЖЕНИЙ — НЕ КЛИКБЕЙТ!

Автозапуск программ на python

Cómo Convertir Código de PYTHON en Formato BAT

Бат файлы: основные команды, примеры

Как запускать python-скрипты с помощью bat/cmd файлов

FAQ. Как создать .bat файл?

BLGPG-DB7C04B2EB12-23-10-09-14

Новые материалы:

  • Определить принадлежит ли точка с координатами x y заштрихованной части плоскости python
  • Python для пентестера скачать курс
  • Почему язык программирования python считается универсальным
  • Numpy создать вектор
  • Python как перевести float в int
  • Как передаются переменные в python
  • Python и css
  • Python сеть хопфилда
  • Инвертировать bool python
  • Нулевая матрица numpy
  • Нетология python для анализа данных отзывы
  • Python для пентестера codeby
  • Pyqt или tkinter
  • Модуль dis python
  • Flask или django 2022

Другие наши интересноые статьи:

  • Запуск windows 11 на этом компьютере невозможен msi
  • Запуск windows и дальше не грузится
  • Запуск python приложения в windows
  • Запуск windows висит долго заставка 7
  • Запуск openvpn из командной строки windows

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии