以下是可以用于打印和删除接口为 10.169.1.1 的路由的 Go 代码:

package main

import (
    "fmt"
    "os/exec"
    "strings"
)

func main() {
    // 执行 "route print" 命令并将输出保存到变量 output 中
    cmd := exec.Command("route", "print")
    output, err := cmd.Output()
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    // 将输出按行分割,并查找包含 "10.169.1.1" 的行
    lines := strings.Split(string(output), "\n")
    var targetLine string
    for _, line := range lines {
        if strings.Contains(line, "10.169.1.1") {
            targetLine = line
            break
        }
    }

    if targetLine == "" {
        fmt.Println("No matching route found.")
        return
    }

    // 获取路由的网关地址并打印出来
    fields := strings.Fields(targetLine)
    gateway := fields[2]
    fmt.Println("Gateway:", gateway)

    // 执行 "route delete" 命令以删除路由
    deleteCmd := exec.Command("route", "delete", "0.0.0.0", "mask", "0.0.0.0", gateway)
    deleteOutput, err := deleteCmd.Output()
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Println("Output:", string(deleteOutput))
}

请注意,这段代码假定您已经有管理员权限来运行 "route" 命令。如果您没有管理员权限,可能需要使用其他方法来获取和删除路由

golang Windows 打印出接口为 1016911的路由 并删除

原文地址: https://www.cveoy.top/t/topic/fhqw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录