Fixer la tâche planifiée ne s'exécutera pas pour le fichier .bat

Si vous avez un fichier .bat et que vous essayez de l'exécuter automatiquement à l'aide du Planificateur de tâches de Windows, vous avez peut-être rencontré le problème suivant: il ne s'exécute tout simplement pas à moins que vous n'exécutiez manuellement la tâche.

J'ai créé un fichier de commandes qui supprime tout ce qui se trouve dans un dossier temporaire au démarrage de l'ordinateur. J'ai créé une tâche de base dans le Planificateur de tâches et espérais le meilleur. Malheureusement, rien ne s'est passé lorsque mon ordinateur a démarré. Après beaucoup d'essais et d'erreurs, j'ai compris comment exécuter le script.

Dans cet article, je vais vous expliquer les paramètres et les autorisations que vous devez ajuster afin que votre fichier de commandes puisse s'exécuter sans intervention manuelle.

Étape 1: Vérifier les autorisations de fichiers / dossiers

La première étape de la résolution de ce problème consiste à vérifier que le compte que vous utilisez pour exécuter le script dans Planificateur de tâches dispose des autorisations Contrôle total sur le dossier contenant le script, le script lui-même et tous les dossiers / fichiers que le script utilise lors de son exécution.

Par exemple, j'ai créé le script de lot suivant ci-dessous:

set folder = "C: \ test" cd / d% dossier% pour / F "delims =" %% i dans ('dir / b') faire (rmdir "%% i" / s / q || del "% % i "/ s / q)

J'ai enregistré le fichier .bat dans mon dossier Documents. Le chemin est C: \ Utilisateurs \ nom d'utilisateur \ Documents. Je suis allé à C: \ Users \ nom d'utilisateur, un clic droit sur le Les documents dossier, et cliqué sur Propriétés. Puis j'ai cliqué sur le Sécurité languette.

Comme vous pouvez le voir, le compte utilisateur Aseem a été explicitement ajouté et donné la Controle total autorisation. Maintenant, vous devez faire la même chose pour le dossier qui contient le script et pour le script lui-même. Ne supposez pas simplement que si vous accordez des autorisations au dossier contenant le script, vous êtes prêt à partir, car vous ne l'êtes pas. Enfin, définissez des autorisations sur tous les fichiers et dossiers avec lesquels le script va interagir.

Dans mon cas, je devais aller à C: \ testCliquez avec le bouton droit sur ce dossier et ajoutez-y mon compte d'utilisateur avec des autorisations de contrôle total. C'est un peu gênant de devoir faire cela, mais c'est le seul moyen de faire exécuter le script.

Remarque: Le compte utilisé pour exécuter le script doit faire partie du compte local Administrateurs groupe sur l'ordinateur. Dans mon cas, le compte Aseem est un compte administrateur et fait donc partie du groupe Administrateurs local.

Étape 2: Vérifier les paramètres du planificateur de tâches

Passons maintenant au Planificateur de tâches et modifions les paramètres appropriés. Ouvrez le Planificateur de tâches et recherchez votre tâche sous l'onglet Tâches actives section. Ils devraient être énumérés dans l'ordre alphabétique.

Double-cliquez dessus et la tâche s'ouvrira d'elle-même dans la même fenêtre. Pour modifier la tâche, vous devez cliquer dessus avec le bouton droit de la souris et choisir Propriétés.

Il y a plusieurs onglets et quelques éléments doivent être vérifiés et modifiés ici. Tout d'abord, sur le Général onglet, vous devez vérifier le compte d'utilisateur utilisé pour exécuter la tâche. Dans mon cas, c'est le Aseem compte sur lequel j’avais déjà donné des autorisations sur le système de fichiers et qui fait partie du groupe Administrateurs de l’ordinateur.

Ensuite, vous devez choisir le Exécuter si l'utilisateur est connecté ou non option et choisissez Windows Vista, Windows Server 2008 dans le Configurer pour boîte.

Sur le actes onglet, vous devez sélectionner le script, cliquez sur modifier puis ajoutez le chemin d'accès au dossier contenant le script dans lee Start in (optionnel) boîte. Cela peut sembler inutile, mais ce n’est pas le cas. Dans mon cas, j'ai mis en C: \ Utilisateurs \ Aseem \ Documents \ dans la boite.

Maintenant, cliquez sur D'accord pour enregistrer les paramètres. Lorsque vous faites cela, une boîte de dialogue peut apparaître où vous devez entrer le mot de passe du compte d'utilisateur qui exécutera la tâche. Cela soulève une autre exigence. Vous ne pouvez pas utiliser un compte sans mot de passe. Le compte d'utilisateur doit avoir un mot de passe pour que la tâche puisse être exécutée.

Enfin, vous devez exécuter la tâche manuellement une fois dans le Planificateur de tâches pour vous assurer de son exécution. S'il fonctionne correctement après avoir modifié tous les paramètres, il doit alors s'exécuter lorsqu'il est censé être déclenché. Dans mon cas, cela devait se produire au démarrage et après avoir apporté les modifications, tout a bien fonctionné.

Notez que si votre script accède à différents ordinateurs d'un domaine lors de son exécution, vous devez essayer d'utiliser le compte d'administrateur de domaine pour exécuter la tâche. Cela garantira que le compte dispose des autorisations suffisantes pour accéder aux ordinateurs distants.

Un autre élément à noter est si votre script accède à des ressources sur un partage réseau. Si votre script utilise des lettres pour accéder au réseau, il risque de ne pas s'exécuter. Par exemple, au lieu d'utiliser F: \ data \, Tu devrais utiliser \ nom_ordinateur \ nom_partage \ data \ dans le script. Si vous ne parvenez toujours pas à exécuter votre script, postez un commentaire ici et j'essaierai de vous aider. Prendre plaisir!