Borre todas y solo las rutas persistentes (estáticas) en Windows


8

¿Hay una manera simple de hacer esto a través de un comando de shell / lote? Un VBScript también estaría bien.

Respuestas:


9

Para borrar todas las rutas, use:

ruta -f

Para borrar solo rutas persistentes, puede usar

reg eliminar HKLM \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ PersistentRoutes / va / f
pero esto no los eliminaría de las rutas activas actualmente.


Tengo muchas rutas persistentes, pero no veo ninguna en ese regkey. ¿Están almacenados en otro lugar en estos días (Windows 10)?
NickG

@NickG: No estoy seguro. ¿Estás hablando de rutas IPv4 o IPv6?
user1686

0

Aquí hay un cmd-script que extrae las rutas estáticas del registro y emite route deletecomandos para cada una de ellas.

Este método los elimina tanto de la lista almacenada de rutas persistentes como de las rutas actualmente activas.

@echo off
set key=HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
for /f "tokens=1,2,3,* delims=," %%i in ('reg query %key% ^| find "REG_SZ"') do (
   route delete %%i mask %%j %%k
)

0

Esto puede hacerse como un bucle for básico que le permite borrar las rutas correctamente para las rutas existentes y futuras.

(Y sin involucrarse en la revisión o edición de ningún elemento del registro) usando una ruta simple de impresión canalizada en un hallazgo y en bucle en una ruta de eliminación.

FOR /F "TOKENS=1-5" %a IN ('ROUTE PRINT ^| FIND /I /V "On-Link" ^| FINDSTR /E /R /C:" *\.[0-9]*[0-9] *[0-9][0-9]*"') DO @(IF /I "%~e" EQU "" ( ROUTE DELETE %a MASK %b %c  ) )
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.