Ma société possède un logiciel qui met à jour nos installateurs sur les serveurs des clients. Lors de l'installation, une variable d'environnement est créée ainsi qu'une tâche avec les lignes suivantes :
Variable :
setx ccloud "C:\Capela\CCloud" /M
Obs. : le chemin utilisé est le "chemin d'installation" défini lors de l'installation.
Tâche :
schtasks.exe /Create /RU SYSTEM /SC DAILY /TN CCloudUpdater /TR "cmd.exe /C C:\Capela\CCloud\ccloud-updater.bat" /ST 02:00 /F >
Le fichier bat a les arguments suivants :
@echo off
cd /d "%CCLOUD%"
ccloud.exe cache -c
ccloud.exe logs -c
ccloud.exe installers -d ccloud --w
if exist "installers\ccloud\ccloud-setup.exe" (
START /WAIT "CCloud Setup" "installers\ccloud\ccloud-setup.exe" /S
)
ccloud.exe auto -t -i -s
timeout 60 > nul
ccloud.exe auto -t -i -s
timeout 900 > nul
ccloud.exe auto -t -i -s
Après l'avoir lancé, nos logiciels et services sont téléchargés et extraits dans un dossier. Les paquets sont définis par un gestionnaire en ligne.
Cependant, il y a UN serveur (2k8R2, comme beaucoup d'autres) qui ne peut tout simplement pas lire la variable, quoi que nous fassions. La tâche s'exécute comme prévu, mais comme la variable n'est pas disponible, il ne peut pas télécharger les paquets.
Nous avons essayé d'utiliser
echo "%ccloud%" > path.txt
à l'intérieur de la batte, le TXT renvoie seulement "" comme si cette variable était indéfinie.
Nous ne savons pas quoi faire d'autre. Quelqu'un peut-il m'aider à comprendre ce qui se passe ?
0 votes
Le serveur dispose-t-il d'un antivirus qui bloque les macro/script ? Veuillez vérifier le journal de votre AV. Dans le passé, j'ai eu de telles difficultés avec mcafee, qui bloquait le script pour créer une variable.
0 votes
Avez-vous vraiment besoin de la variable d'environnement ? Puisque le fichier batch lui-même se trouve dans le même dossier que celui vers lequel pointe la variable d'environnement,
cd /d %~dpn0
devrait fonctionner.0 votes
Les
setx
ne fonctionne pas de manière fiable. D'après votre description, je ne suis pas sûr que ce soit votre problème, mais je vous le signale.0 votes
@HarryJohnston Je viens de voir comment utiliser %~dp0 et cela devrait fonctionner, mais nous utilisons en fait l'e.v pour accéder facilement à ce dossier. Ce n'est pas essentiel, mais c'est utile. Quoi qu'il en soit, merci pour cela !