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/

380voto

Ghazi Points 506

J'ai rencontré le même problème, mais j'ai trouvé une autre solution sans avoir à modifier mon script de lot.

La seule chose qui m'a échappé est l'option "Démarrer dans (facultatif)" dans les paramètres "Action".

Allez dans les propriétés de la tâche --> onglet Action --> Modifier --> Remplir comme ci-dessous :

  1. Action : Démarrer un programme
  2. Programme/script : chemin d'accès à votre script de lot, par ex. C:\Users\beruk\bodo.bat
  3. Ajouter des arguments (facultatif) : <si nécessaire - en fonction de votre script>.
  4. Début en (facultatif) : Mettez le chemin complet de l'emplacement de votre script de lot, par exemple. C:\Users\beruk\ (Ne pas mettre de guillemets à Start In)

Cliquez ensuite sur OK

Cela fonctionne pour moi. Bonne chance !

11 votes

Je suis conscient que le message original est assez ancien. Mais ce message figurait parmi les premiers liens dans la recherche Google lorsque j'ai essayé de trouver une réponse à ce problème. Je pense donc que j'aimerais partager les résultats. Juste au cas où quelqu'un, y compris moi-même, l'oublierait.

5 votes

Je ne pense pas que vous ayez besoin de la valeur 'Start in (optional)' - je suis capable d'exécuter un simple fichier .bat autonome sans cette valeur. Merci pour la clarté des étapes - très utile pour ceux qui recherchent une marche à suivre simple !

1 votes

Cela a fonctionné comme un charme sur Server 2012 également.

85voto

Arun Raja Points 1264

Aucune des méthodes ci-dessus n'a fonctionné. J'ai essayé de cette manière, comme indiqué dans un tutoriel, et ça a marché.

Action :

Start a program 

Programme/script :

cmd

Ajouter des arguments :

/c start "" "E:\Django-1.4.1\setup.bat"

Cela a fonctionné pour moi sur Win7 Pro. Vous devez avoir un compte avec un mot de passe (les mots de passe vides ne sont pas bons).

58voto

micstr Points 2732

Pour ceux dont les fichiers bat sont ne fonctionne toujours pas dans le planificateur de tâches de Windows 8+, une chose que je voudrais ajouter à la réponse de Ghazi - après beaucoup de souffrance :

1) Sous Actions, choisissez "Créer BASE tâche", et non "créer une tâche".

Cela m'a suffi, sans compter les autres problèmes à ne pas oublier :

  1. Utilisez le Démarrage de votre fichier batch, même s'il est indiqué que c'est facultatif.
  2. utilisez des guillemets, si nécessaire, dans votre entrée Démarrer un programme > programme/script c'est-à-dire " C:\my scripts \runme.bat " ...
  3. MAIS N'UTILISEZ PAS de guillemets dans votre champ "Start in". (Fou mais vrai !)

Cela a fonctionné sans qu'il soit nécessaire de déclencher une invite de commande.

(Désolé, ma réputation est trop faible pour ajouter mon conseil sur les tâches de base aux commentaires de Ghazi)

24voto

Jonathan Leaders Points 317

Assurez-vous que " Start In " n'a PAS DE CITATIONS.

8voto

Ruben Points 1535

Il fonctionne maintenant. Voici ce que j'ai fait. Vous n'aurez probablement pas besoin de toutes ces étapes pour que cela fonctionne, mais juste pour être sûr, essayez-les toutes :

  • Vérifiez les paramètres de compte de votre tâche planifiée et assurez-vous qu'ils sont définis pour s'exécuter, que quelqu'un soit connecté ou non à la machine.

  • vérifier le fonctionnement avec la plupart des privilèges/droits

  • Assurez-vous d'aller d'abord dans le chemin complet : cd C:\inetpub\wwwroot\infoweb\factuur\cron

  • N'utilisez pas de guillemets dans vos fichiers batch (je ne sais pas pourquoi mais cela semble aider).

  • Soyez super administrateur, entrez 'Net user administrator /active:yes' dans l'invite de commande, déconnectez-vous et connectez-vous en tant que super administrateur, afin que l'UAC soit désactivé.

2 votes

Désolé de le dire, mais cette réponse est très mal écrite. Je m'assurerais que la bonne réponse est sélectionnée comme réponse acceptée.

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