Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Приглашаем принять участие в работе над нашей Wiki.
  • Наша рассылка: subscribe.ru, content.mail.ru и Google groups.
  • Есть желающие вести новостную ленту "В мире технологий"?
  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
   Начало   Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужна помощь с cmd-файлом. (Работа с реестром. Условие)  (Прочитано 928 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bruce Wayne
Интересующийся

ru
Offline Offline

« : 12-01-2012 18:49 » 

Добрый день!

Хочу сделать cmd-файл, который будет искать определённые значения реестра в заданной ветке, и, если они пустые, удалять их. Какие команды посоветуете? Заранее спасибо!
Записан
Kivals
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 13-01-2012 13:21 » 

reg, find
Записан
Bruce Wayne
Интересующийся

ru
Offline Offline

« Ответ #2 : 13-01-2012 13:25 » 

Kivals, спасибо большое! Никак не мог найти нужную команду)
Записан
v2
Постоялец

ua
Offline Offline

« Ответ #3 : 13-01-2012 17:08 » 

Bruce Wayne,
reg query /?
for /?

медитация над  reg query /v /s и for /f  дала такой вот cmd, но если хочешь дальше сам - не подглядывай.
 С новым годом!
(click to show)
Код: (DOS)
@echo off
 cls
 echo Usage: Erazer.cmd HKCU Data  // Virtual use only ;)
 Goto :List
rem -------------------------------------------------------------

:Tst1
rem echo -Test- : %1 %2 %3

 if "%NAMERG%"=="%1" Goto :Tst2
 Goto :EOF

:Tst2
 if ""=="%3" Goto :Tst3  
 Goto :EOF

:Tst3
 echo reg delete %PATHRG% /v %NAMERG% /f
 Goto :EOF
rem -------------------------------------------------------------

:Come
rem echo -Parser- : %1

 for /F "tokens=1,2,3" %%i in (%1) do Call :Tst1 %%i %%j %%k
 set PATHRG=%1
   
 Goto :EOF
rem -------------------------------------------------------------

:List
 set NAMERG=%2

 echo -Scan- : %1 %2 : Wait ...
 
 reg query %1 /v %2 /s > regval.txt

 echo -Work- : %2 : Wait ...

 for /F "delims=" %%S in (regval.txt) do Call :Come "%%S"
rem
 erase /f /q *.bat,*.cmd,*.txt
 
 set NAMERG=
 set PATHRG=
 Goto :EOF
rem -------------------------------------------------------------
:End
Записан
Bruce Wayne
Интересующийся

ru
Offline Offline

« Ответ #4 : 20-01-2012 20:13 » 

v2, хорошо)
Записан
Kivals
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 21-01-2012 07:54 » 

v2, интересно... конструкция "Call :Come" - это новое для меня, спасибо Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines