Cancella tutti e solo i percorsi (statici) persistenti su Windows


8

C'è un modo semplice per farlo tramite un comando / batch shell? Un VBScript sarebbe anche ok.

Risposte:


9

Per cancellare tutti i percorsi, utilizzare:

percorso -f

Per cancellare solo i percorsi persistenti, è possibile utilizzare

reg delete HKLM \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ PersistentRoutes / va / f
ma questo non li rimuoverà dalle rotte attualmente attive.


Ho un sacco di percorsi persistenti, ma non vedo nessuno su quella regkey. Sono memorizzati altrove in questi giorni (Windows 10)?
NickG

@NickG: non sono sicuro. Stai parlando di percorsi IPv4 o IPv6?
user1686

0

Ecco uno script cmd che estrae i percorsi statici dal registro e invia route deletecomandi per ciascuno di essi.

Questo metodo li rimuove sia dall'elenco memorizzato di route persistenti, sia dalle route attualmente attive.

@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

Questo può essere fatto come un for-loop di base che consente di cancellare correttamente le rotte per le rotte esistenti e future.

(E senza essere coinvolto nella revisione o nella modifica di alcun elemento del registro) utilizzando una semplice route route convogliata in una ricerca e inserita in loop in una route route.

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  ) )
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.