Ubuntu 脚本处理
#!/bin/bash
# 查找网络内核模块
kernel_module=$(sudo lshw -C network | grep 'configuration:' | grep -oP '(?<=driver=)\S+')
if [ -z "$kernel_module" ]; then
echo "未找到网络内核模块"
exit 1
fi
echo "找到网络内核模块: $kernel_module"
# 卸载内核模块
echo "卸载内核模块: $kernel_module"
sudo modprobe -r "$kernel_module"
# 重新加载内核模块
echo "重新加载内核模块: $kernel_module"
sudo modprobe -i "$kernel_module"
echo "网络内核模块已重启"
使用说明
- 将此脚本保存为
restart_network.sh
。 - 给予执行权限:
chmod +x restart_network.sh
- 运行脚本:
./restart_network.sh
该脚本会自动查找网络内核模块名称,并卸载后重新加载该模块。
如果还有问题可以重启网络适配器!!! 写了个脚本帮大家自动重启(管理员运行)
Windows 脚本处理
@echo off
setlocal enabledelayedexpansion
rem 使用拼音或部分名称代替中文关键字
set keywords=VMnet 以太网
echo 当前需要重启的网络适配器: %keywords%
rem 获取所有网络适配器名称并逐行处理
for /f "skip=3 tokens=3,*" %%A in ('netsh interface show interface') do (
set "adapterName=%%B"
rem 去除名称前后的空格
set "adapterName=!adapterName!"
rem 显示提取的适配器名称,调试用
rem echo Adapter Name: "!adapterName!"
rem 检查适配器名称中是否包含关键字
for %%K in (%keywords%) do (
echo !adapterName! | findstr /i "%%K" >nul
if !errorlevel! equ 0 (
echo Disabling "!adapterName!"
netsh interface set interface name="!adapterName!" admin=disable
timeout /t 2 >nul
echo Enabling "!adapterName!"
netsh interface set interface name="!adapterName!" admin=enable
timeout /t 2 >nul
)
)
)
ipconfig
echo 所有匹配的网络适配器重启完成.
pause
使用说明
- 将此内容保存为
RestartAdapters.bat
文件,并选择保存类型为“所有文件”。 - 以管理员身份运行此批处理文件。