web-dev-qa-db-fra.com

Création d'un fichier BAT pour un script python

Comment créer un simple fichier BAT qui exécutera mon script python situé dans C:\somescript.py

merci beaucoup

43
Josh
c:\python27\python.exe c:\somescript.py %*
56
MK.

Ouvrez une ligne de commande (Windowskey + R, 'cmd', <enter>) Et tapez 'python -V', <enter>.

Vous devriez recevoir une réponse, quelque chose comme 'Python 2.7.1'.

Si vous ne le faites pas, il est possible que Python ne soit pas installé. Fixez ceci en premier.

Une fois que vous avez Python, votre fichier de commandes doit ressembler à

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

La fenêtre de commande restera ouverte une fois le script terminé afin que vous puissiez voir les erreurs ou les messages. Une fois que vous en êtes satisfait, vous pouvez supprimer la ligne "pause" et la fenêtre de commande se fermera automatiquement lorsque vous aurez terminé.

38
Hugh Bothwell

Ouvrez simplement un fichier batch contenant ces deux lignes dans le même dossier de votre script python:

somescript.py
pause
10
Pheng-Khai Tan

Voici comment vous pouvez mettre le code de lot et le code python dans un seul fichier:

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

print("python code")

le ''' commence et finit respectivement les commentaires multi-lignes python.

0<0# : ^ est plus intéressant - en raison de la priorité de redirection en batch, il sera interprété comme :0<0# ^ par le script batch qui est une étiquette dont l'exécution ne sera pas affichée à l'écran. Le signe inséré à la fin échappera à la nouvelle ligne et la deuxième ligne sera attachée à la première ligne. Pour python, il s'agira de l'instruction 0<0 et du début du commentaire en ligne.

Le crédit revient à siberia-man

7
npocmaka

Si vous avez ajouté Python à votre PATH, vous pouvez aussi simplement l'exécuter comme ceci.

python somescript.py
4
Chris Farr

--- xxx.bat ---

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

--- aaaa.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

S'il s'agit d'un fichier BAT situé dans un autre répertoire que le répertoire actuel, une erreur du type "python: impossible d'ouvrir le fichier 'somescript.py': [Errno 2]". Cela peut être corrigé en spécifiant un chemin absolu vers le fichier BAT en utilisant %~dp0 (la lettre du lecteur et le chemin de ce fichier de commandes ).

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

(De cette façon, vous pouvez ignorer le c:\ ou quoi que ce soit, car vous voudrez peut-être déplacer ce script)

1
Mike T

commencez xxx.py

Vous pouvez l'utiliser pour d'autres types de fichiers.

0
nxttym

Vous pouvez utiliser le code python directement dans un fichier de commandes, https://Gist.github.com/jadient/9849314 .

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