Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка значения переменной реестра во всех пользовательских профилях

Ответить
Настройки темы
CMD/BAT - [решено] Проверка значения переменной реестра во всех пользовательских профилях

Аватара для SANIOK_AV

Старожил


Сообщения: 493
Благодарности: 6

Профиль | Отправить PM | Цитировать


Доброго времени суток!
Хочу проверить значение переменной реестра HKEY_CURRENT_USER\Software\Razdel1\Peremennaya1 во всех профилях
И если в некотором профиле значение этой переменной не равно "1", то к значению переменной "RESULT" нужно добавить имя пользователя этого профиля.
Пытаюсь сделать так:
Код: Выделить весь код
set result=ok

for /f "usebackq tokens=3,3* delims==	" %%i in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory`) do set profiles=%%i
for /f "usebackq delims==" %%i in (`echo %profiles%`) do set profiles=%%i
For /F "usebackq tokens=* delims==" %%i in (`DIR /B /AD-S "%profiles%" ^| FINDSTR /V /B /I /C:"All Users"`) DO (
   reg load HKEY_USERS\111 "%profiles%\%%i\NTUSER.DAT"
Set env=0
For /F "Tokens=2*" %%j In ('Reg Query "HKEY_USERS\111\Software\Razdel1" /V Peremennaya1') Do (
   For /F "Tokens=1 delims=" %%l In ('echo %%k') do set env=%%l
)
echo %env%
if /i "-%env%" neq "-1" (
   set result=%result%_%%i
   )
   reg unload HKEY_USERS\111
)

echo %result%
pause
В итоге к переменной RESULT добавляется только имя профиля последнего по алфавиту, а не того в которм значение не соттветствует.
Подскажите пожалуйста, что не так делаю?
Заранее благодарен!

Отправлено: 17:13, 08-07-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


SANIOK_AV, как обычно: «setlocal enableextensions enabledelayedexpansion» в начале и «echo !env!», «if /i "-!env!" neq "-1"», «set result=!result!_%%i» внутри скобок (может, ещё где недоглядел аналогичное использование).
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:10, 08-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для SANIOK_AV

Старожил


Сообщения: 493
Благодарности: 6

Профиль | Отправить PM | Цитировать


Iska, Cпасибо огромное!
Работает!!!

Отправлено: 15:20, 09-07-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка значения переменной реестра во всех пользовательских профилях

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Очистка корзин во всех профилях, при старте компьютера MaddyMAn Скриптовые языки администрирования Windows 16 12-10-2013 11:16
CMD/BAT - Присвоение значения переменной starav Скриптовые языки администрирования Windows 1 30-05-2013 09:23
CMD/BAT - [решено] Проверка значения ключа реестра. RomanLis Скриптовые языки администрирования Windows 6 07-09-2012 13:14
MySQL - Хранение значения переменной в MySQL-базе ManHack Программирование и базы данных 7 11-07-2009 10:02
VBS/WHS/JS - Вывод значения переменной в сообщение la_vanille_ciel Программирование и базы данных 3 09-04-2008 11:55




 
Переход