¿Hay una manera simple de hacer esto a través de un comando de shell / lote? Un VBScript también estaría bien.
¿Hay una manera simple de hacer esto a través de un comando de shell / lote? Un VBScript también estaría bien.
Respuestas:
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 / fpero esto no los eliminaría de las rutas activas actualmente.
Aquí hay un cmd-script que extrae las rutas estáticas del registro y emite route delete
comandos 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
)
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 ) )