IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Suppression clé de registre avec fin de nom aléatoir en batch


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut Suppression clé de registre avec fin de nom aléatoir en batch
    Bonjour à tous,

    Je prépare un script (batch) pour installer et désinstaller un logiciel de manière automatique.
    Il s'avère qu'à la désinstallation, tout se passe bien mais quand je vais dans ajout suppression de programme je vois toujours la ligne.

    J'ai fait plusieurs test d'install/desinstall et maintenant je vois 3 fois la ligne !!!

    En regardant les clé de registre je vois dans
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    ces 3 lignes qui correspondent à mon logiciel:
    TC12-190704135821
    TC12-190704164828
    TC12-190705110024

    Si je fais lance unitairement les lignes suivantes elles sont bien supprimé:
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TC12-190704135821" /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TC12-190704164828" /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TC12-190705110024" /f

    Par contre j'aimerai dans mon script de désinstalle ajouter la suppression de cette clé de registre mais elle est toujours différente !!!

    J'ai essayé cette commande :
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TC12*"

    cela ne fonctionne pas, existe t-il un moyen de supprimer dans:
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    tout ce qui commence par TC12 ?

    Merci par avance de votre aide.

    Cordialement,

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Tu ne peux pas choisir directement, il faut d'abord lister toutes les clés puis les filtrer, essaie comme ça :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    @echo off
    setlocal enableextensions disabledelayedexpansion
    chcp 28591 >nul
     
    ATTRIB %windir%\system32 -h | FINDSTR /I "system32" >nul
    IF %ERRORLEVEL% NEQ 1 (
    ECHO.
    ECHO Ce script doit être lancé en Administrateur !
    ECHO.
    pause
    exit
    )
     
    for /f "delims=" %%A in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
    echo %%A | findstr /C:"TC12-" >nul && echo REG DELETE "%%~A" /f
    )
     
    pause
    exit

    A des fins de test j'ai mis un echo devant la commande REG DELETE, une fois que tu es sûr que le script fonctionne comme tu veux tu peux le supprimer.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut
    Merci beaucoup barnabe0057, je n'aurai jamais trouvé tout seul !!!

    J'ai ajouté la partie suivant à mon script:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f "delims=" %%A in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
    echo %%A | findstr /C:"TC12-" >nul && REG DELETE "%%~A" /f

    Peux-tu m'expliquer la partie suivante ? :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    setlocal enableextensions disabledelayedexpansion
    chcp 28591 >nul
     
    ATTRIB %windir%\system32 -h | FINDSTR /I "system32" >nul
    IF %ERRORLEVEL% NEQ 1 (
    ECHO.
    ECHO Ce script doit être lancé en Administrateur !
    ECHO.
    pause
    exit

    Encore merci beaucoup pour ton aide et ton temps.

    Cordialement,

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Le SETLOCAL sert à activer les extensions de commandes (normalement activées par défaut mais on ne sait jamais), et à désactiver l'expansion retardée des variables.

    Le CHCP sert à modifier le codepage, afin de gérer correctement les accents.

    La partie entre ATTRIB et EXIT sert à déterminer si le script est lancé en tant qu'administrateur ou pas, les modifications du registre nécessitent les droits admin.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Par défaut
    Merci beaucoup.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    C'est résolu ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2016, 17h45
  2. sonde nagios recherche de fichier avec fin de nom aléatoire
    Par P3dr075 dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 10/11/2014, 06h51
  3. suppression dossier avec condition suivant nom des dossiers
    Par rastacouaire dans le forum VBScript
    Réponses: 2
    Dernier message: 02/11/2010, 12h53
  4. Réponses: 8
    Dernier message: 14/11/2003, 22h51
  5. Réponses: 4
    Dernier message: 23/07/2003, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo