J'ai un fichier batch daily.bat, c'est 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 dans 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 produit.
Mon action est
'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"
UAC est désactivé et je suis administrateur.
Une idée pourquoi cela ne fonctionne pas?
J'ai rencontré le même problème, mais j'ai trouvé une autre solution sans avoir à modifier mon script batch.
La seule chose qui m'a échappé est dans les paramètres "Action" - option "Démarrer dans (facultatif)".
Allez dans les propriétés de la tâche -> onglet Action -> Édition -> remplir comme ci-dessous:
C:\Users\beruk\bodo.bat
C:\Users\beruk\
(Ne mettez pas de guillemets autour de Start In)Puis cliquez sur OK
Ça marche pour moi. Bonne chance!
Aucune des méthodes ci-dessus n'a fonctionné. Je l'ai essayé de cette façon comme l'a dit 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 valent rien)
Pour ceux dont les fichiers sont ne fonctionnent toujours pas dans le Planificateur de tâches de Windows 8+, j'aimerais ajouter quelque chose à la réponse de Ghazi - après de nombreuses souffrances:
1) Sous Actions, choisissez "Créer_ _ DE BASEtâche" et non "Créer une tâche".
Cela a été fait pour moi, sans oublier les autres problèmes à ne pas oublier:
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)
Assurez-vous que "Start In" n'a PAS DE CITATION.
Il fonctionne 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 de toutes les 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.
check run avec la plupart des privilèges/droits
Assurez-vous d’abord d’accéder au chemin complet: cd C:\inetpub\wwwroot\infoweb\factuur\cron
N'utilisez pas de guillemets dans vos fichiers batch (vous ne savez pas pourquoi, mais cela semble aider)
Soyez super admin, entrez 'Administrateur utilisateur net/actif: oui' dans la commande Invite, déconnectez-vous et connectez-vous en tant que super admin, afin que le contrôle de compte d'utilisateur soit désactivé
Si un problème ne se produisait pas simplement parce qu'il fonctionnait sur un ordinateur portable sans cordon d'alimentation ... Dans l'onglet Conditions, il est par défaut vérifié de sorte qu'une tâche ne s'exécute pas tant que l'alimentation secteur n'est pas connectée.
Je me suis planté avec cela pendant plusieurs heures et ai essayé beaucoup de suggestions différentes.
J'ai finalement réussi à le faire en procédant comme suit:
Action: démarrer un programme
Programme/Script: C:\scriptdir\script.bat
Ajouter des arguments (facultatif) script.bat
Démarrer dans (facultatif): c:\scriptdir
exécuter uniquement lorsque l'utilisateur est connecté
courir avec les plus hauts privilèges
configurer pour: Windows Vista, Windows Server 2008
Sous Windows 7 Pro, j'ai découvert que la solution d'Arun fonctionnait pour moi: je pouvais le faire fonctionner même sans "utilisateur connecté", j'avais choisi d'utiliser les privilèges les plus élevés.
Par le passé, vous devez avoir un compte avec un mot de passe (les mots de passe vides ne valent rien), et si le programme ne vous invite pas à entrer le mot de passe à la fin de l'Assistant, revenez et éditez quelque chose jusqu'à ce qu'il le soit!
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"
Assurez-vous que "Start In" ne se termine PAS par un BACKSLASH.
Si tout le reste échoue pour vous ici, assurez-vous que l'utilisateur que vous essayez d'exécuter, a accès au fichier que vous essayez d'utiliser.
Dans mon cas, j'essayais d'exécuter un fichier de commandes à partir de C:\Utilisateurs\Administrateur\Bureau auquel le compte ne pouvait pas accéder. Le déplacer vers un emplacement neutre sur C:\a résolu le problème.
Veuillez vérifier le compte d'utilisateur que 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 nécessite des privilèges supplémentaires . Il peut également arriver que la tâche soit exécutée mais que vous ne voyez aucun effet car le fichier de commandes attend un utilisateur. réponse donc veuillez vérifier le gestionnaire de tâches si vous voyez votre processus en cours d'exécution . Une fois que j'ai planifié un lot avec la mise à jour svn d'une page Web et que le processus se bloque parce que svn a demandé d'accepter le certificat de serveur.
L'utilisation du bouton Exécuter dans la fenêtre principale du Planificateur de tâches pour tester plusieurs variantes a finalement permis de trouver les paramètres corrects. Ces deux options doivent être combinées: - Exécuter uniquement lorsque l'utilisateur est connecté - Exécuter avec les privilèges les plus élevés . Toutes les autres variantes ont échoué. C’est tout le temps perdu, mais au moins ça marche . OS: VERSION WINDOWS 8 CORE (BASE)
Essayez d'exécuter la tâche avec des privilèges élevés.
mettre un\à la fin du chemin dans "démarrer dans le dossier" tel que c:\temp \
Je ne sais pas pourquoi, mais ça marche parfois pour moi.