215 votes

Exécuter un fichier batch avec le planificateur de tâches de Windows

J'ai un fichier batch daily.bat, voici le code :

cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be

Et j'ai créé une tâche avec le planificateur de tâches de Windows 7. Lorsque j'exécute le lot manuellement, tout se passe bien, mais lorsque j'essaie de l'exécuter avec le planificateur de tâches, rien ne se passe.

Mon action est

'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"

L'UAC est désactivé et je suis administrateur.

Une idée de la raison pour laquelle cela ne fonctionne pas ?

0 votes

Je ne sais pas si cette question est hors sujet mais vous obtiendrez peut-être de meilleures réponses sur serverfault.com pour cela.

0 votes

Merci, je vais aussi essayer de le poster sur serverfault.

0 votes

Cela peut aussi être utile : serverfault.com/questions/734035/

2voto

Vince Points 71

Si tout le reste échoue pour vous, assurez-vous que l'utilisateur sous lequel vous essayez d'exécuter la tâche a accès au fichier que vous essayez d'utiliser.

Dans mon cas, j'essayais d'exécuter un fichier batch à partir de C:\Users\Administrator\Desktop auquel le compte ne pouvait pas accéder. En le déplaçant vers un emplacement neutre sur C:\, le problème a été résolu.

2voto

ToCarbajal Points 300

Je poste la réponse à cette question aquí y aquí .

enter image description here

1voto

sapitron Points 1

En utilisant le bouton Run de la fenêtre principale du planificateur de tâches pour tester plusieurs variantes, on a finalement trouvé les bons paramètres. Ces deux options doivent être combinées : -Lancer uniquement lorsque l'utilisateur est connecté -Exécution avec les privilèges les plus élevés. Toutes les autres variations ont échoué. C'est exaspérant tout le temps perdu à ce sujet, mais au moins ça marche. OS : Windows 8 CORE (BASIC) VERSION

1voto

user6039542 Points 11

Veuillez vérifier quel compte utilisateur vous utilisez pour exécuter notre tâche. Il se peut que vous exécutiez votre tâche avec un utilisateur différent de votre utilisateur par défaut, et que cet utilisateur ait besoin de privilèges supplémentaires. Il se peut aussi que la tâche soit exécutée mais que vous ne puissiez pas voir d'effet parce que le fichier batch attend une réponse de l'utilisateur, alors vérifiez le gestionnaire de tâches si vous voyez votre processus en cours d'exécution. Une fois, il m'est arrivé de programmer un lot avec la mise à jour svn d'une page web et le processus s'est arrêté parce que svn a demandé d'accepter le certificat du serveur.

1voto

  1. N'utilisez pas de guillemets dans votre fichier cmd/batch.
  2. Assurez-vous que vous allez vers le chemin complet commencer en (facultatif) :
    C:\Necessary_file\Reqular_task\QDE\cmd_practice\

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X