mugil_cephalus
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Rodgerland это есть оказывается такой мудренный раздел, где в самом имени раздела есть спецсимволы - "&" - (вот у меня тоже) - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_244e - я думал в имени раздела спецсимволов не будет - только в именах параметров и значений, а их код в вывод не выводит Добавлено: Rodgerland так, вот код, который ищет все параметры D3DOGL_70835937 во всех разделах в корневом разделе hklm и для всех параметров D3DOGL_70835937 меняет любые их значения на значение - 00000010 осталось только экранировать спецсимволы, но здесь проблема - надо еще посмотреть какие спецсимволы могут попасться кроме & вопрос: в имени раздела, где может находиться твой параметр D3DOGL_70835937 не могут встретися символы: & && ( ) < > | @ ^ если точно не могут, то, думаю легче будет парсить - там посмотрим Код: mode con lines=6000 cd\ for /f "tokens=*" %%i in ('reg query "hklm\system" /s ^|findstr /i "HKEY_LOCAL_MACHINE\system D3DOGL_70835937"') do call:_1 "%%i" pause goto:eof :_1 echo %~1|find /i "HKEY_LOCAL_MACHINE\system" &&set "var1=%~1" echo %~1|find /i "D3DOGL_70835937" &&( echo _%var1%_ rem еще одна проверка, чтобы не удалить не то reg query %var1%|find /i "D3DOGL_70835937" &® add "%var1%" /v D3DOGL_70835937 /t REG_BINARY /d 00000010 /f ) goto:eof | только ты код сначал протестируй на чем-то и отбэкапь изменяемые ключи реестра --------------------------------------------------------------------------- вот так можно попробовать: Код: mode con lines=6000 cd\ for /f "tokens=*" %%i in ('reg query "hklm\system" /s ^|findstr /i "HKEY_LOCAL_MACHINE\system D3DOGL_70835937" ^|find /v "^&"') do call:_1 "%%i" pause goto:eof :_1 echo %~1|find /i "HKEY_LOCAL_MACHINE\system" &&set "var1=%~1" echo %~1|find /i "D3DOGL_70835937" &&( echo _%var1%_ rem еще одна проверка, чтобы не удалить не то reg query %var1%|find /i "D3DOGL_70835937" &® add "%var1%" /v D3DOGL_70835937 /t REG_BINARY /d 00000010 /f ) goto:eof | еще можешь пока убрать ключ /f - а потом, если нормально отработает, - вернуть |