Comment créer un simple fichier BAT qui exécutera mon script python situé dans C:\somescript.py
merci beaucoup
c:\python27\python.exe c:\somescript.py %*
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é.
Ouvrez simplement un fichier batch contenant ces deux lignes dans le même dossier de votre script python:
somescript.py
pause
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
Si vous avez ajouté Python à votre PATH, vous pouvez aussi simplement l'exécuter comme ceci.
python somescript.py
--- 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)
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)
commencez xxx.py
Vous pouvez l'utiliser pour d'autres types de fichiers.
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!"