Sprawdzanie, czy nazwa wartości klucza znajduje się w rejestrze systemu Windows za pomocą pliku wsadowego

0

Potrzebuję pomocy w sprawdzeniu, czy wartość klucza istnieje, czy nie.

Nie wiem, jak sprawdzić, czy moja nazwa określonej wartości istnieje, czy nie w określonej ścieżce klucza.
Mam to:

reg add "HKLM\SOFTWARE\....." /v "ARCHIVELOGENABLE" /d "Y"    

Jak więc sprawdzić, czy ARCHIVELOGENABLEjedna z nazw wartości jest na mojej ścieżce klucza?

Mam coś takiego:

@echo off
reg query myKEY > nul

if %ERRORLEVEL% EQU 1 echo (
  goto INSTALL
) else (
    if (my value name not exist) (
      goto INSTALL
    ) else (
      goto SKIP_INSTALL
    )
)

- moja nazwa wartości nie istnieje, co powinienem tutaj napisać?

Lia
źródło
Witamy w Super User! Podałeś pracę, którą wykonałeś wcześniej, co jest przydatne; na jaki konkretnie masz problem?
bertieb
Myślę, że nie rozumiem twojego pytania, przepraszam.
Lia
Muszę zarejestrować określoną ścieżkę klucza z określoną nazwą wartości klucza. Mam 3 przypadki: 1. jeśli ścieżka klucza nie istnieje, powinienem zarejestrować klucz i wartość 2. jeśli dawka ścieżki klucza istnieje, ale moja określona nazwa wartości nie istnieje, powinienem zarejestrować 3. jeśli ścieżka klucza istnieje i nazwa wartości klucza istnieje i różni się od mojej określonej wartości, nie powinienem się rejestrować
Lia
Myślę, że potrzebuję iteracji dla wszystkich wartości z mojego klucza, ale w tej chwili jestem całkowicie zdezorientowany
Lia
Czy jest prawdopodobne, że użytkownik chce edytować lub usunąć nazwę wartości? a instalator nie powinien go nadpisywać (w przypadku edycji)
Lia

Odpowiedzi:

0

W kodzie i klauzuli IF występują pewne problemy.

Przykład . Sprawdźmy ForceActiveDesktopOnwartość kluczaHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

@echo off
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /v ForceActiveDesktopOn > nul

if %ERRORLEVEL% EQU 1 (
echo Key not found 
goto INSTALL) else (
echo Key is found, skipping
goto SKIP_INSTALL
)

:INSTALL

:SKIP_INSTALL

Musisz także wstawić nazwę i wartość klucza w wierszu zapytania reg

Hardoman
źródło