Récupérer une partie du résultat d'une commande en variable [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 7 juin 2017
Statut
Membre
Dernière intervention
30 juin 2017
-
Messages postés
2
Date d'inscription
mercredi 7 juin 2017
Statut
Membre
Dernière intervention
30 juin 2017
-
Bonjour,

J'aimerais savoir si quelqu'un saurait comment récupérer une partie du résultat d'une commande dans une variable.
Je m'explique : J'aimerais créer un .bat qui éliminerait Skype du démarrage automatiquement.
En cherchant sur Internet j'ai trouvé ceci :

=> "wmic startup where caption="skype" list full"

On obtient un résultat variable pour le "Location =" en fonction des ordinateurs :

=>

"Caption=Skype
Command="C:\Program Files (x86)\Skype\Phone\Skype.exe" /minimized /regrun
Description=Skype
Location=HKU\S-1-5-21-325172630-181335914-2732737614-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
SettingID=
User=DOBDX-ATELIER\Atelier"

Je voudrais récupérer uniquement ce qui suit "Location =" c'est à dire "HKU\S-1-5-21-325172630-181335914-2732737614-1000\SOFTWARE\Microsoft\Win
dows\CurrentVersion\Run" et le stocker dans une variable car j'en ai besoin pour la commande qui "supprime" l'application du démarrage, à savoir :

reg delete HKEY_USERS\S-1-5-21-325172630-181335914-2732737614-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ /v skype

D'avance merci pour votre aide ! :)

2 réponses

Messages postés
13508
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 juin 2021
4 382
Bonjour,

Essaie ça :

@echo off
Setlocal enableextensions enabledelayedexpansion

wmic startup where caption="skype" list full | find "Location" > fichier.txt

for /f "tokens=*" %%A in (fichier.txt) do (

set string=%%A
set key=!string:~9!

echo !key!

)


echo.
pause
Endlocal
exit



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
3266
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
6 juin 2021
1 589
Salut Barnabe ;)

Ce topic m'intéresse...


Par contre, j'ai trouvé ça :
wmic startup where caption="skype" get "Location"


Le résultat est sous 2 lignes
Location
HKU\S-1-5-21-1386971854-3905309848-73855152-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


Peut-on, sans passer par un fichier, ne récupérer que la 2ème ligne dans une variable ?


++
Messages postés
13508
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 juin 2021
4 382 >
Messages postés
3266
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
6 juin 2021

Slt, la boucle for /f permet de récupérer le résultat dans une variable :

for /f "tokens=*" %%A in ('wmic startup where caption^="skype" get "Location" ^| find "\"') do (echo %%A)


Ou bien :

for /f "tokens=*" %%A in ('wmic startup where caption^="skype" get "Location" ^| find /V "Location"') do (echo %%A)
Messages postés
3266
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
6 juin 2021
1 589
Salut Et merci à toi.

Ca va me servir... Et aussi à l'intéressé.

for /f "tokens=*" %%A in ('wmic startup where caption^="skype" get "Location" ^| find "\"') do set var=%%A



;)


++
Messages postés
13508
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 juin 2021
4 382 >
Messages postés
3266
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
6 juin 2021

A toi ça va servir, à l'intéressé je crois qu'on ne le saura jamais ;).
Messages postés
2
Date d'inscription
mercredi 7 juin 2017
Statut
Membre
Dernière intervention
30 juin 2017

Bonjour à tous et merci pour votre aide précieuse !
J'ai réussi à faire ce que je voulais grâce à vos réponses !

Voici la structure de mon .bat :
@Echo off

for /f "tokens=*" %%A in ('wmic startup where caption^="skype" get "Location" ^| find "\"') do set var=%%A

echo Oui|REG DELETE "%var%" /v Skype



En l'exécutant, Skype est supprimé du démarrage et ne m'embête plus *-*