S'il vous plaît jeter un oeil à mon fichier de commandes.
echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"
mais ça ne marche pas. Des idées comment puis-je le faire fonctionner?
Cela devrait fonctionner:
start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2
La commande start
interprète le premier argument comme un titre de fenêtre s'il contient des espaces. Dans ce cas, cela signifie que start
considère votre argument entier comme un titre et ne voit aucune commande. Passer ""
(un titre vide) comme premier argument de start
résout le problème.
Si vous avez besoin de voir le résultat de l’exécution, utilisez CALL
avec ou à la place de START
.
Exemple:
CALL "C:\Program Files\Certain Directory\file.exe" -param
PAUSE
Cela va exécuter le fichier.exe et imprimer ce qu’il génère dans la même fenêtre de commande. Rappelez-vous la PAUSE
après l'appel ou la fenêtre pourrait se fermer instantanément.
À moins que ce ne soit qu'un exemple simplifié de la question, mon conseil est de supprimer directement l'encapsuleur de lot PHP, plus précisément le programme php-win.exe
, qui n'ouvrira pas les fenêtres inutiles.
Program: c:\program files\php\php-win.exe
Arguments: D:\mydocs\mp\index.php param1 param2
Sinon, citez des choses comme Andrew le fait remarquer.
Dans les anciennes versions de Windows, vous devriez pouvoir tout mettre dans la seule zone de texte "Exécuter" (tant que vous citez tout ce qui contient des espaces):
"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2