Có một cách đơn giản để làm điều này thông qua một lệnh shell / batch? Một VBScript cũng sẽ ổn thôi.
Có một cách đơn giản để làm điều này thông qua một lệnh shell / batch? Một VBScript cũng sẽ ổn thôi.
Câu trả lời:
Để xóa tất cả các tuyến đường, sử dụng:
tuyến đường -f
Để chỉ xóa các tuyến đường liên tục, bạn có thể sử dụng
reg xóa HKLM \ HỆ THỐNG \ CurrentControlset \ Services \ Tcpip \ Paramameter \ PersistentRoutes / va / fnhưng điều này sẽ không loại bỏ chúng khỏi các tuyến hiện đang hoạt động.
Dưới đây là tập lệnh cmd trích xuất các tuyến tĩnh từ sổ đăng ký và đưa route delete
ra các lệnh cho từng tuyến.
Phương pháp này loại bỏ cả hai khỏi danh sách các tuyến liên tục được lưu trữ và khỏi các tuyến hiện đang hoạt động.
@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
)
Điều này có thể được thực hiện như một vòng lặp cơ bản cho phép bạn xóa các tuyến chính xác cho các tuyến hiện tại và tương lai.
(Và không tham gia vào việc xem xét hoặc chỉnh sửa bất kỳ mục đăng ký nào) bằng cách sử dụng một bản in tuyến đường đơn giản được tìm thấy và lặp lại trong một lần xóa tuyến đường.
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 ) )