Удалить информацию о флеш носителях из реестра. (windows xp)
На компьютер в копи центре постоянно клиенты толкают флешки, что бы с них что ни будь распечатать, со временем компьютер при подключение флешки или любого другого usb накопителя стал тормозить (что то долго искать, подключать её).
В общем, возникла задача периодически чистить информацию о ранее подключенных usb носителях. В интернете была найдена удобная программа (usbdeview) для чистки этого мусора.
Недостатки этой программы, что она не чистит реестра автоматически, и поэтому нужно периодически запускать её, выбирать нужные строчки и удалять их. Долго и тяжело это делать.
Благодаря разным форумам было найдено решение, написать батник, который будет самостоятельно удалять информацию о подключенных флешках.
:************************************
@echo off
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR1.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR2.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «Disk&Ven» && reg delete «%%a» /f >> c:\USBSTOR3.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR4.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «Disk&Ven» && reg delete «%%a» /f >> c:\USBSTOR5.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR6.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\USBSTOR»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «Disk&Ven» && reg delete «%%a» /f >> c:\USBSTOR7.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR8.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR9.txt
)
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do (
reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR10.txt
)
:************************************
Пояснение на примере
------------
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB»
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do ( reg query «%%a» /s | find «USBSTOR» && reg delete «%%a» /f >> c:\USBSTOR1.txt)
----------------
set «Section=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB»
ищем информацию о подключенных флеш накопителях в данном разделе реестра
for /f «tokens=*» %%a in ('reg query «%Section%» ^| findstr /c:"%Section%\\Vid_"') do ( reg query «%%a» /s |
Перебор всех подразделов в выбранном разделе
find «USBSTOR»
поиск по ключевому слову.
USBSTOR- так обозначаются флешки в большинстве разделах реестра.
Disk&Ven – в некоторых разделах пришлось обнаруживать информацию о флешках таким образом
&& reg delete «%%a» /f >> c:\USBSTOR1.txt)
Сразу удаляем и сохраняем результат в файл c:\USBSTOR1.txt
Если поставить && echo reg delete «%%a» /f >> c:\USBSTOR1.txt)
То удаляться не будет, вся информация сохраниться в файл, после чего можно переименовать файл c:\USBSTOR1.txt в c:\USBSTOR1.bat и запустить. Все удалиться.