Lors de la configuration d'une tâche planifiée, pour la section action, j'essaie d'accéder à une variable d'environnement pour l'emplacement de l'exécutable que je souhaite exécuter. C'est principalement parce que sur une machine, l'exécutable pourrait être en C: sur une autre, il pourrait être sur D: J'ai vérifié que si j'utilise un chemin codé en dur, ma tâche planifiée s'exécute, mais si je modifie l'action pour pointer vers "%MyAppPath%\MyApp.exe"
la tâche ne commencera pas à subir un échec de lancement. J'ai vérifié que la variable d'environnement est configurée.
Est-il même possible à l'intérieur de la partie action (et répertoire de travail) de la planification des tâches de référencer une variable d'environnement - ma syntaxe est-elle erronée.
En passant, j'ai pensé à appeler un fichier BAT et à y référencer la variable d'environnement, mais cela ne résout rien pour moi car le problème principal est de savoir si l'application (et le fichier bat aussi) est sur C: ou D: lecteurs - à l'intérieur du lecteur lui-même, le chemin est le même.
MISE À JOUR : Il s'avère que vous pouvez les utiliser avec un redémarrage de la machine, mais il existe peut-être une meilleure façon
la source
Je pensais que vous pouviez référencer des variables d'environnement à partir du Planificateur de tâches, mais après avoir juste essayé, cela ne semble pas possible.
La seule exception semble être:
%PATH%
serait-il possible d'ajouter votreMyAppPath
valeur à la%PATH%
collection sur chaque machine, puis d'appeler simplement àMyApp.exe
partir du planificateur de tâches, où la machine sera en mesure de résoudre le chemin d'accès complet comme requis?la source
%~d0
s'étendra à la lettre de lecteur de l'emplacement du fichier de commandes. (%~dp0
pour lecteur + répertoire, etc. )la source
La réponse de tsvayer n'a pas tout à fait fonctionné pour moi, sur un ordinateur exécutant Windows 7, mais elle m'a indiqué la bonne direction. Le Planificateur de tâches semble être un service sur mon ordinateur; son nom est
Schedule
; le nom d'affichage est Planificateur de tâches .Outre le redémarrage à partir de la console MMC Services , il peut être redémarré avec les
wmic
commandes suivantes exécutées à partir d'une fenêtre d'invite de commandes (avec des privilèges d'administrateur):Vous pouvez bien sûr également redémarrer le service en utilisant
sc
:Sur la base d'essais et d'erreurs, il semble suffisant de désactiver puis de réactiver une seule tâche, si c'est tout ce que vous devez affecter:
la source
S'appuyant sur la réponse de grawity, j'utilise un processus en deux étapes. Cela me permet d'utiliser le chemin dans d'autres instructions en cas de besoin.
REMARQUE:
pushd
change à la fois le lecteur et le répertoire. Et si vous vouliez être propre,popd
quand vous aurez terminé.la source