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

J'ai un fichier batch tous les jours.chauve-souris, c'est le code:

cd C:inetpubwwwrootinfowebfactuurcron
c:PHPphp.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 dans Windows 7. Lorsque je lance le lot manuellement, tout va bien, mais quand j'essaie de l'exécuter avec le planificateur de tâches, rien ne se passe.

Mon action est

'run script' "C:inetpubwwwrootsitexcrondaily.bat"

UAC est désactivé et je suis administrateur.

Une idée de pourquoi cela ne fonctionne pas?

117
demandé sur Ruben 2010-12-14 12:36:13

14 réponses

J'ai fait face au même problème, mais j'ai trouvé une autre solution sans avoir à modifier mon script batch.

La seule chose que j'ai manquée est dans les paramètres' Action ' - "Start in (Optional)" option.

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 batch par exemple C:\Users\beruk\bodo.bat
  3. Ajouter des arguments (optionnel) :
  4. Start in (facultatif) : placez le chemin complet vers l'emplacement de votre script batch, par exemple C:\Users\beruk\ (Ne mettez pas de guillemets autour de Start In)

Puis cliquez sur OK

Ça marche pour moi. Bonne chance!

222
répondu Ghazi 2016-09-03 09:42:48

Aucune des méthodes ci-dessus n'a fonctionné. J'ai essayé de cette façon comme l'a dit elle dans un tutoriel et cela a fonctionné.

Action: Démarrer un programme

Programme / script: cmd

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

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

41
répondu Arun Raja 2015-09-22 08:22:09

Pour ceux dont les fichiers bat sont ne fonctionnent toujours pas dans Windows 8 + Task Scheduler, une chose que je voudrais ajouter à la réponse de Ghazi-après beaucoup de souffrance:

1) sous Actions, choisissez " Créertâche de base ", pas "créer une tâche"

Cela l'a fait pour moi, plus les autres problèmes à ne pas oublier:

  1. utilisez le chemin Start dans vers votre fichier batch, même s'il indique optionnel
  2. utilisez des guillemets, si vous en avez besoin, dans votre programme Démarrer > entrée de programme/script, c'est-à-dire "C:\my scripts \ runme.chauve" ...
  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é, mon représentant est trop faible pour ajouter mon conseil de tâche de base aux commentaires de Ghazi)

36
répondu micstr 2015-03-16 04:27:45

Assurez-vous que "Démarrer dans " n'a pas de guillemets.

18
répondu Jonathan 2014-06-19 16:21:29

Ça marche maintenant. C'est ce que j'ai fait. Vous n'aurez probablement pas besoin de toutes ces étapes pour le faire fonctionner, mais juste pour être sûr que tout essayer:

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

  • Vérifier exécuter avec la plupart des privilèges / droits

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

  • Ne pas utiliser double citations dans vos fichiers batch (je ne sais pas pourquoi mais semble aider)

  • Soyez super admin, entrez 'net user administrator / active: yes' dans l'invite de commande, déconnectez-vous et connectez-vous en tant que super admin, donc UAC est désactivé

7
répondu Ruben 2013-04-16 10:56:55

Avait 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... Sous l'onglet conditions, par défaut, il est coché afin qu'une tâche ne s'exécute pas lorsque L'alimentation secteur N'est pas connectée.

5
répondu Chriz 2016-05-10 12:25:32

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

D'après l'expérience passée, 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 avez terminé l'Assistant, revenez et modifiez quelque chose jusqu'à ce qu'il le fasse!

C'est la méthode au cas où ce n'est pas clair qui 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" 
3
répondu Bruce Metelerkamp 2015-09-22 08:05:31

J'ai foiré avec cela pendant plusieurs heures et essayé beaucoup de suggestions différentes.

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

Action: Démarrer un programme

Programme / Script: C:\scriptdir\script.MTD

Ajouter des arguments (facultatif) script.MTD

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

Exécuter uniquement lorsque l'utilisateur est connecté

Exécuter avec les privilèges les plus élevés

Configurer pour: Windows Vista, Windows Server 2008

3
répondu Robb 2016-05-24 21:44:58

Assurez-vous que "Start In" ne se termine pas par une barre oblique inverse.

2
répondu Michael Kehoe 2015-06-26 16:41:24

Si tout le reste échoue ici pour vous assurer que l'utilisateur que 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 n'a pas pu accéder. Le déplacer vers un emplacement neutre sur C: \ a résolu le problème.

2
répondu Vince 2016-07-11 12:33:14

Veuillez vérifier quel compte d'utilisateur vous utilisez pour exécuter notre tâche. Il peut arriver que vous exécutiez votre tâche avec un utilisateur différent de votre utilisateur par défaut, et cet utilisateur nécessite des privilèges supplémentaires. En outre, il peut arriver que la tâche soit exécutée, mais vous ne pouvez pas voir d'effet car le fichier batch attend une réponse de l'utilisateur, alors vérifiez le Gestionnaire des tâches si vous voyez votre processus en cours d'exécution. Une fois qu'il arrive que je planifie un lot avec svn mise à jour d'une page web et le processus se bloque parce que svn a demandé accepter le certificat du serveur.

1
répondu user6039542 2016-03-09 13:01:11
  1. n'utilisez pas de guillemets doubles dans votre fichier CMD/batch
  2. assurez-vous d'aller pour le chemin d'accès complet démarrer (facultatif):
    C:\Necessary_file\Reqular_task\QDE\cmd_practice\

entrez la description de l'image ici

1
répondu Shahidul Islam Molla 2018-04-06 10:40:35

En utilisant le bouton Exécuter dans la fenêtre principale du Planificateur de tâches pour tester plusieurs variantes finalement trouvé les paramètres corrects. Ces deux options doivent être combinées: -Exécuter uniquement lorsque l'utilisateur est connecté - Courir 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 cela fonctionne. OS: WINDOWS 8 CORE (DE BASE) VERSION

0
répondu sapitron 2015-08-23 18:07:44

Essayez d'exécuter la tâche avec des privilèges élevés.

Mettez un \ à la fin du chemin dans "Démarrer dans le dossier" tel que c:\temp\

Je ne sais pas pourquoi, mais cela fonctionne parfois pour moi.

0
répondu C Jee 2016-03-29 23:18:58