Apakah ada cara sederhana untuk melakukan ini melalui perintah shell / batch? VBScript juga akan baik-baik saja.
Apakah ada cara sederhana untuk melakukan ini melalui perintah shell / batch? VBScript juga akan baik-baik saja.
Jawaban:
Untuk menghapus semua rute, gunakan:
rute -f
Untuk menghapus hanya rute persisten, Anda bisa menggunakan
reg hapus HKLM \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ PersistentRoutes / va / ftetapi ini tidak akan menghapusnya dari rute yang sedang aktif.
Berikut ini adalah skrip cmd yang mengekstrak rute statis dari registri, dan mengeluarkan route delete
perintah untuk masing-masingnya.
Metode ini menghapus keduanya dari daftar rute persisten yang tersimpan, dan dari rute yang saat ini aktif.
@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
)
Ini dapat dilakukan sebagai dasar untuk-loop yang memungkinkan Anda untuk menghapus rute dengan benar untuk rute yang ada dan yang akan datang.
(Dan tanpa terlibat dalam meninjau atau mengedit item registri apa pun) menggunakan cetak rute sederhana disalurkan ke find dan dilingkarkan ke penghapusan rute.
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 ) )