Variable d'environnement Startup pour un batch
Résolu
Patrickdusud_0856
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrickdusud_0856 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Patrickdusud_0856 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Décidément, c'est la journée des questions et des blocages...
Je souhaite transférer un ou plusieurs fichiers sur mon répertoire de démarrage Windows "Startup" se situant au chemin suivant :
C:\Users\direction\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Je réalise un .bat simple avec une ligne de xcopy :
Cependant, je souhaiterais utiliser le programme sur plusieurs PC, et je voudrais rajouter une variable d'environnement.
J'ai lu sur la doc Microsoft qu'il existait une variable environnement pour le menu de démarrage : https://docs.microsoft.com/fr-fr/windows/deployment/usmt/usmt-recognized-environment-variables
Il s'agirait de : CSIDL_STARTUP
D'aprés la docs de Microsoft : Répertoire du système de fichiers qui correspond au groupe de programmes de démarrage de l’utilisateur. Un chemin d’accès classique est C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.
Dans mon code j'ai écrit :
J'ai une réponse de la console m'indiquant :
Pourtant, d'après ce que je comprends, il semblerait que cette variable prenne bien en compte le lecteur "C" dans mon cas. Si je rajoute un %userprofile% avant %CSIDL_STARTUP% de la manière suivante :
Le fichier va bien dans %userprofile% mais pas dans le démarrage.
Merci pour votre aide.
Décidément, c'est la journée des questions et des blocages...
Je souhaite transférer un ou plusieurs fichiers sur mon répertoire de démarrage Windows "Startup" se situant au chemin suivant :
C:\Users\direction\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Je réalise un .bat simple avec une ligne de xcopy :
xcopy "Lanceurdemarrage.vbs" "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /i/y/C/q/h
Cependant, je souhaiterais utiliser le programme sur plusieurs PC, et je voudrais rajouter une variable d'environnement.
J'ai lu sur la doc Microsoft qu'il existait une variable environnement pour le menu de démarrage : https://docs.microsoft.com/fr-fr/windows/deployment/usmt/usmt-recognized-environment-variables
Il s'agirait de : CSIDL_STARTUP
D'aprés la docs de Microsoft : Répertoire du système de fichiers qui correspond au groupe de programmes de démarrage de l’utilisateur. Un chemin d’accès classique est C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.
Dans mon code j'ai écrit :
xcopy "Lanceurdemarrage.vbs" "%CSIDL_STARTUP%" /i/y/C/q/h
J'ai une réponse de la console m'indiquant :
C:\Users\direction\OneDrive\Desktop\Logiciel>xcopy "Lanceurdemarrage.vbs" "" /i/y/C/q/h
Spécification du lecteur non valide
0 fichier(s) copié(s)
Pourtant, d'après ce que je comprends, il semblerait que cette variable prenne bien en compte le lecteur "C" dans mon cas. Si je rajoute un %userprofile% avant %CSIDL_STARTUP% de la manière suivante :
"%userprofile%%CSIDL_STARTUP%"
Le fichier va bien dans %userprofile% mais pas dans le démarrage.
Merci pour votre aide.
Configuration: Windows / Chrome 100.0.4896.127
A voir également:
- Variable d'environnement Startup pour un batch
- Fichier batch - Guide
- Startup sound changer - Télécharger - Édition & Montage
- Www.hp.com/go/techcenter/startup - Forum Refroidissement
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Programmation
2 réponses
Bonjour,
La variable %CSIDL_STARTUP% n'existe pas, je ne sais pas où tu as péché cela (*).
Le startup particulier d'un utilisateur, c'est bien
"C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
Et il existe un répertoire global, commun aux utilisateurs
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
edit : (*) en fait ton CSIDL... c'est dans des fichiers XML de paramétrage du Windows Update dans une stratégie de déploiement.
La variable %CSIDL_STARTUP% n'existe pas, je ne sais pas où tu as péché cela (*).
Le startup particulier d'un utilisateur, c'est bien
"C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
Et il existe un répertoire global, commun aux utilisateurs
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
edit : (*) en fait ton CSIDL... c'est dans des fichiers XML de paramétrage du Windows Update dans une stratégie de déploiement.
Si je joins 2 variables même réelles: %userprofile%%CSIDL_STARTUP% je vais forcément échouer puisqu'il manquera un slash: %userprofile%\%CSIDL_STARTUP%
Cela dit, pourquoi utiliser: C:\Users\%username%\AppData\Roaming\ (où il y a déjà une variable) alors que %appdata%\ conduit au même résultat?
Si maintenant la place à la ligne de commande est chère, rien n'interdit de créer une variable:
SET -chemin=%appdata%\Microsoft\Windows\Start Menu\Programs\Startup
puis d'utiliser la variable %-chemin% et peut-être plus volontiers entre guillemets du fait de l'espace Start Menu:
XCOPY (source) "%-chemin%"