Limpa todas e somente rotas persistentes (estáticas) no Windows

8

Existe uma maneira simples de fazer isso através de um comando shell / batch? Um VBScript também seria ok.

    
por grawity 09.10.2009 / 11:50

3 respostas

9

Para limpar todas as rotas, use:

route -f

Para limpar somente rotas persistentes, você pode usar

reg delete HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes /va /f
, mas isso não os removeria das rotas atualmente ativas.     
por 09.10.2009 / 14:39
0

Aqui está um script cmd que extrai as rotas estáticas do registro e emite os comandos route delete para cada um deles.

Esse método remove os dois da lista armazenada de rotas persistentes e das rotas atualmente ativas.

@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
)
    
por 03.02.2016 / 11:48
0

Isso pode ser feito como um loop básico, permitindo que você limpe as rotas corretamente para as rotas existentes e futuras.

(E sem se envolver na revisão ou edição de itens de registro) usando uma simples rota impressa em uma localização e colocada em loop em uma exclusão de rota.

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  ) )
    
por 16.06.2018 / 00:16