Potrzebuję pętli wsadowej, która powinna wyodrębnić wartość danych i użyć jej w następnym poleceniu. Wszystkie klucze rejestru, które chcę wysłać, zostały zapisane w pliku * .txt.
Przykład:
Następujące polecenie zwróci wartość klucza, typ i dane zgodnie z poniższym opisem.
DOWÓDZTWO:
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\01690987922DC9549A63529D22383DDF\InstallProperties /V UninstallString
WYNIK:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\01690987922DC9549A63529D22383DDF\InstallProperties
UninstallString REG_EXPAND_SZ MsiExec.exe /X{78909610-D229-459C-A936-25D92283D3FD}
Chcę tylko wyodrębnić wartość danych MsiExec.exe /X{78909610-D229-459C-A936-25D92283D3FD}
i uruchom go jako moje następne polecenie w pętli for.
Mam około 20 kluczy rejestru, które chcę wysłać, a następnie uruchomić wyodrębnione polecenie. Chcę również dodać ciche przełączniki do komendy msiexec.exe, gdy zostanie ona wykonana.
Jestem bardzo nowy w pętlach wsadowych i wierzę, że muszę użyć tokeny / delims (?) ... nie jestem pewien, jak to działa.
cmd
jest doskonale zdolny do tak trywialnego zadania;)Odpowiedzi:
reg query
lista kluczy z pliku txt i ponowne wykorzystanie wartości danychNastępujący plik wsadowy powinien zostać uruchomiony:
Uwagi:
keys.txt
powinien zawierać klucze do zapytania, po jednym w wierszu.for
pętle, pierwsza przetwarza każdy klucz, druga (wewnętrzna) analizuje wynik.echo
zecho %%j /quiet %%k
kiedy jesteś zadowolony z tego, co robi plik wsadowy./quiet
to przełącznik, którego potrzebujesz do „cichego”. Zmień w razie potrzeby.Dalsze czytanie
źródło