Sätta cmd-variabel till ett registervärde?

Permalänk
Medlem

Sätta cmd-variabel till ett registervärde?

Hej alla!

Försöker få en cmd-fil att byta ut olika filer beroende på vilken version av Chrome som är installerat (vill byta ut ikonen).

Problemet är att jag inte vet hur jag ska få cmd-filen att veta vilken version som är installerad. Denna information kan jag själv enkelt se genom att:
1) gå till [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome] i registret och kolla vilket värde "Version" har.
2) Gå till "C:\Users\ANVÄNDARNAMN\AppData\Local\Google\Chrome\Application" och kolla vad mappen med det högsta numret heter.

Jag vet dock inte hur jag kan få en cmd-fil att automatiskt kolla detta.

Jag har funderat på att använda SET VARIABLE=STRING, men skriver jag in exempelvis

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome] /v Version

så är det det värdet som min variabel får, och inte exempelvis

8.0.552.28

som jag vill att den ska få.

Jag har även funderat på att använda mig av DIR /ad /o-d men då får jag ju bara en lista och ingen metod att använda mig av det som en variabel.

Edit: Funderar om jag istället kan använda REG för att lyckas.

REG QUERY HKCU\Software\7-Zip /v Lang

ger resultatet:

Lang REG_SZ sv

(Jag kan alltså få cmd att visa korrekt värde ("sv" i detta fall) men frågan är fortfarande hur jag kan få den till en variabel.)

Någon som har en ide?

-------------------

Var lite osäker på om jag skulle posta detta i windowsforumet eller här men med tanke på att det endast är när jag ska automatisera det hela som frågan blir relevant så känns det som att det passar bättre i denna del av forumet.

Edit2: Har hittat en duglig lösning. Kort sammanfattning på stegen:
1) Använde REG COPY för att kopiera avinstalleringsinformationen till en annan plats i registret.
2) Använde REG DELETE för att skala bort onödig information så att endast "Version" (vilket för tillfället hade datan "8.0.552.28" i sig) fanns kvar. (Anledningen till att jag gjorde steg 1 och 2 var för att jag inte vet hur den övriga avinstalleringsinformationen skulle påverka "Environment")
3) Använde Använde REG COPY för att flytta in "Version" i "HKCU\Environment".
4) Använde SETX RefreshEnvironment SoonGone. Anledningen till detta är att Windows verkar uppdatera environment-variablerna från registret varje gång kommandot används. Så denna variabel "RefreshEnvironment" skapades endast för att "Version" skulle börja användas av Windows.
5)Är här tvungen att öppna ett nytt cmd-fönster pga sådana här variabler i "HKCU\Environment" gäller bara i cmd-fönster vilka öppnats när variablerna existerade.
6)Använder mig helt enkelt av variabeln för att hitta korrekt mapp och fil. Dvs i mitt fall "C:\Users\User\AppData\Local\Google\Chrome\Application\8.0.552.28\chrome.dll".
7)Tar bort de variabler jag skapat i "HKCU\Environment" med hjälp av REG DELETE.

Om något för för sig att göra det jag beskrev ovan så tänk på att ifall det finns mer stringar mm i avinstalleringsinformationen så kommer dessa att lägga sig i "HKCU\Environment" och beroende på vilket namn de har så vet jag inte hur mycket skada de kan göra.

Om någon kommer på en enklare metod att få kunna använda ett registervärde som en variabel i cmd så skriv gärna då det jag gjorde här känns extremt bökigt och riskabelt