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/

8voto

Rohit Kandhal Points 1285

Add a new Task in a folder


Logged in user vs Running in background


Add action


Mon script devait tirer le dernier code du master et publier une nouvelle branche

cd D:\dev\repo
git checkout master
git pull
git branch -D my-branch
git push origin --delete my-branch
git checkout -b my-branch
git push -u origin my-branch
exit

7voto

Michael Kehoe Points 69

Assurez-vous que "Start In" ne se termine pas par un RETROSPECTEUR.

5voto

Chriz Points 21

J'ai eu un problème où ma tâche ne se déclenchait pas simplement parce qu'elle fonctionnait sur un ordinateur portable sans cordon d'alimentation... Dans l'onglet conditions, par défaut, la case est cochée pour qu'une tâche ne soit pas exécutée si le courant alternatif n'est pas connecté.

3voto

Sous Windows7 Pro, j'ai trouvé que la solution d'Arun fonctionnait pour moi : J'ai pu la faire fonctionner même avec "aucun utilisateur connecté", j'ai choisi d'utiliser les privilèges les plus élevés.

Par expérience, vous devez avoir un compte avec un mot de passe (les mots de passe vides ne sont pas bons), et si le programme ne vous demande pas le mot de passe lorsque vous terminez l'assistant, retournez-y et modifiez quelque chose jusqu'à ce qu'il le fasse !

Voici la méthode, au cas où vous ne sauriez pas laquelle a fonctionné.

Action: start a program
Program/script : cmd
      (doesn't need the .exe bit!)
Add arguments:
    /c start "" "E:\Django-1.4.1\setup.bat"

3voto

Robb Points 31

Je me suis penché sur la question pendant plusieurs heures et j'ai essayé de nombreuses suggestions différentes.

J'ai finalement réussi à le faire fonctionner en faisant ce qui suit :

Action : Lancer un programme

Programme/script : C:\scriptdir\<strkeep>script<strkeep>.bat

Ajouter des arguments (facultatif) script.bat

Début en (facultatif) : c : \scriptdir

fonctionne uniquement lorsque l'utilisateur est connecté

exécuter avec les plus hauts privilèges

configurer pour : Windows Vista, Windows Server 2008

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