Batch base de registre

Résolu/Fermé
karkol Messages postés 408 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 17 décembre 2016 - Modifié par karkol le 5/02/2013 à 11:35
karkol Messages postés 408 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 17 décembre 2016 - 6 févr. 2013 à 09:02
Salut,
Je dois faire un fichier batch qui, en fonction de ce que l'on mettra dans les variables, va changer le nom du PC.
Au début je demande les infos sur la localisation et le type de poste, je dois ensuite le renommer avec ces deux variables et ajouter avant ces deux dernières une constante.
Exemple : XYZ-123-PC
XYZ doit être constant sur tous les postes
123 est la localisation du poste (La variable Lieu)
PC est le type de poste (La variable Poste)

Le script suivant ne change rien dans la base de registre.

@ECHO OFF
SET /P Lieu = Lieu où se trouve l'entité :
SET /P Poste = Type de poste (PC, portable) :

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %Lieu% /f

Comment ajouter une constante à chaque fois devant le nom (XYZ un peu plus haut), ainsi que les tirets? La variable ne fonctionne pas avec les %variable%, cela m'affiche le /f, comment faire pour afficher ce que l'on a mis dans la variable?
Merci.

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 févr. 2013 à 15:31
hello
pas d'espaces avant et après = avec set
SET /P Lieu=Lieu où se trouve l'entité :
SET /P Poste=Type de poste (PC, portable) : 
sinon le nom de la variable est %Lieu<espace>%
C:> set Lieu=123
C:> echo XYZ-%Lieu%
XYZ-123
C:>
1
karkol Messages postés 408 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 17 décembre 2016 57
5 févr. 2013 à 15:53
Merci pour le coup des espaces avant les =.
Par contre, je ne veux pas faire un echo mais bien changer la donnée de le valeur dans la base de registres :
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d "IRR-%Lieu%" /f
Là sa me met dans la donnée de la valeur : IRR-
Cela ne prend pas en compte la variable Lieu.
1
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 févr. 2013 à 16:06
le echo était un exemple. "IRR-%Lieu%" devrait marcher, affiche Lieu avant le reg add, avec des + pour voir d'éventuels espaces
echo +%Lieu%+
1
karkol Messages postés 408 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 17 décembre 2016 57
6 févr. 2013 à 09:02
Merci.
0