HOWTO · Batch
Exécuter le fichier Python dans un script Batch
Ce didacticiel explique comment exécuter un fichier Python dans Batch Script.
Sur cette page
Exécuter un script Python depuis un fichier batch est une tâche Windows : les exemples ci-dessous utilisent des fichiers .bat et l’invite de commandes. Python doit être installé. Vous pouvez appeler la commande python si Windows la trouve dans PATH, ou indiquer directement le chemin d’un fichier python.exe précis.
Vérifier Python et préparer les fichiers
Ouvrez l’invite de commandes et exécutez python --version. Un numéro de version indique que cette commande résout vers un interpréteur ; cela ne prouve pas que toutes les installations de Python figurent dans PATH. Si Windows indique que python n’est pas reconnu, utilisez le chemin complet de l’interpréteur indiqué ci-dessous ou ajoutez l’installation Python souhaitée à PATH. Placez le fichier batch et le script Python dans un emplacement connu afin de pouvoir préciser clairement leurs chemins.
Exécuter un script Python depuis un fichier batch
Enregistrez un fichier batch, par exemple run_python.bat, à côté de hello.py. La commande @echo off masque les commandes pendant leur exécution. pause est facultatif : utilisez-la si vous lancez le fichier batch par double-clic et souhaitez que la fenêtre reste ouverte ; omettez-la si un autre programme ou un terminal doit reprendre la main dès que le script se termine.
Une invocation batch minimale consiste à exécuter @echo off, puis python hello.py. Si le fichier batch peut être lancé depuis un autre répertoire de travail, utilisez un chemin fondé sur son propre emplacement : python "%~dp0hello.py". %~dp0 se développe en lecteur et en répertoire contenant le fichier batch, avec une barre oblique inverse finale.
Choisir un interpréteur Python avec son chemin complet
Utilisez le chemin explicite de l’exécutable lorsque python n’est pas disponible dans PATH ou lorsque le fichier batch doit sélectionner une installation particulière. Dans le fichier batch, écrivez "C:\Program Files\Python312\python.exe" "%~dp0hello.py", en remplaçant le chemin d’exemple par l’emplacement sur votre ordinateur. Mettez les deux chemins entre guillemets afin que les espaces soient considérés comme faisant partie du nom de fichier. Vérifiez que les chemins de l’exécutable et du script existent réellement : un chemin incorrect échoue même s’il est entre guillemets.
Transmettre des arguments au script Python
Dans un fichier batch, %* transmet tous les arguments fournis à ce fichier. Par exemple, python "%~dp0greet.py" %* les transmet à greet.py. Appelez le fichier batch en plaçant entre guillemets les valeurs qui contiennent des espaces, par exemple run_greet.bat "Ada Lovelace". Les guillemets gardent le nom entier dans un seul argument.
Le script Python peut lire ces valeurs avec sys.argv. Enregistrez le code suivant sous greet.py, puis appelez-le avec la commande batch ci-dessus. Si aucun nom n’est fourni, le script en utilise un par défaut ; il peut donc aussi être exécuté seul.
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
import sys
name = sys.argv[1] if len(sys.argv) > 1 else "friend"
print(f"Hello, {name}!")
Hello, friend!
Gérer les chemins et les problèmes d’exécution courants
Si l’invite de commandes indique que python n’est pas reconnu, vérifiez la commande avec python --version, puis utilisez le chemin complet vers python.exe ou corrigez PATH. Si Python démarre mais ne parvient pas à ouvrir le script, vérifiez son nom et son emplacement ; %~dp0 est utile lorsque le fichier batch doit trouver un script voisin quel que soit le répertoire courant. Si un chemin contient des espaces, mettez-le entre guillemets doubles. Si le script démarre mais signale qu’un module manque, installez cette dépendance dans le même environnement Python que celui sélectionné par le fichier batch. Ces commandes utilisent la syntaxe batch de Windows et ne s’appliquent pas telles quelles aux shells macOS ou Linux.