2015-04-25 5 views
1

Я пытаюсь повторить список каждого Ключ реестра в HKCU Справочник. В CMD я могу запустить следующую командуBatch FOR loop over REG QUERY directory

REG QUERY HKCU\Environment\ 

, который правильно возвращает

TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp 
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp 

Однако, я пытаюсь изменить ниже FOR цикл, который был создан, чтобы перебрать файлы и папки в нормальная структура каталогов Windows, но она не работает при работе с Ключи реестра

FOR /D %%K in ("%appdata%\Mozilla\Firefox\Profiles\*") DO (
    @echo %%~nxK 
) 

выше цикл работает отлично и выводит все имена каталогов

Я попытался изменить это

FOR /D %%K in ("REG QUERY HKCU\Environment\") DO (
    @echo %%~nxK 
) 

Вышесказанное не похоже на работу.

Кроме того, /D параметр Предоставлен в ДЛЯ Петли, по-видимому синтаксиса FOR-папок, однако я не уверен, что ключевой реестр будет признано.

ответ

0

вы имели в виду извлечь путь, что:

@echo off 
FOR /F "tokens=2*" %%a in ('REG QUERY HKCU\Environment\') DO @echo "%%b" 
Pause 
+2

'FOR/F "токенов = 2 *" %% а в ('REG QUERY HKCU \ Environment \') DO @echo«%% б «как путь может содержать пробелы ... – JosefZ

+0

@JosefZ Good Catch;) Я редактирую свой пост и меняю его на ваш – Hackoo

+0

@Hackoo Да, этот ответ почти прав, однако я попытался изменить ** токены = 2 ** на ** tokens = 3 ** ** @ echo "%% a %% b %% c" **, и я могу получить его, чтобы отобразить **% USERPROFILE% \ AppData \ Local \ Temp **, я бы хотел чтобы иметь возможность копировать выше в моем открытии и выходе ** TEMP REG_EXPAND_SZ% USERPROFILE% \ AppData \ Local \ Temp **, предпочтительно 1 часть на переменную, например ** a = TEMP, b = REG_EXPAND_SZ ** и т. д. ... – realityStruck