本文目录导读:

我来提供一个网络自动检测和修复的脚本,这是一个适用于 Windows 系统的批处理脚本,能够自动检测网络连接问题并尝试修复。
Windows 网络自动检测修复脚本
@echo off网络自动检测与修复工具
color 0A
echo ========================================
echo 网络自动检测与修复工具 v1.0
echo ========================================
echo.
:: 获取当前时间
set hour=%time:~0,2%
if "%hour:~0,1%"==" " set hour=0%hour:~1,1%
set logfile=network_log_%date:~0,4%%date:~5,2%%date:~8,2%_%hour%%time:~3,2%%time:~6,2%.txt
echo [%date% %time%] 开始网络检测... > %logfile%
:: 检测网络连接
echo 正在检测网络连接...
ping -n 3 8.8.8.8 >nul 2>&1
if %errorlevel% equ 0 (
echo 网络连接正常!
echo [%date% %time%] 网络连接正常 >> %logfile%
goto :check_dns
) else (
echo [警告] 网络连接异常!
echo [%date% %time%] 网络连接异常 >> %logfile%
goto :fix_network
)
:check_dns
echo 正在检测DNS解析...
ping -n 3 www.baidu.com >nul 2>&1
if %errorlevel% equ 0 (
echo DNS解析正常!
echo [%date% %time%] DNS解析正常 >> %logfile%
echo.
echo 所有检测通过,网络运行正常!
echo [%date% %time%] 所有检测通过 >> %logfile%
goto :end
) else (
echo [警告] DNS解析异常!
echo [%date% %time%] DNS解析异常 >> %logfile%
echo 尝试修复DNS配置...
goto :fix_dns
)
:fix_network
echo.
echo ======== 开始修复网络连接 ========
echo [%date% %time%] 开始修复网络连接 >> %logfile%
:: 1. 释放并更新IP地址
echo [步骤1/5] 释放当前IP地址...
ipconfig /release >> %logfile% 2>&1
timeout /t 2 /nobreak >nul
echo [步骤2/5] 更新IP地址...
ipconfig /renew >> %logfile% 2>&1
timeout /t 3 /nobreak >nul
:: 2. 清空DNS缓存
echo [步骤3/5] 清空DNS缓存...
ipconfig /flushdns >> %logfile% 2>&1
:: 3. 重置Winsock目录
echo [步骤4/5] 重置Winsock...
netsh winsock reset >> %logfile% 2>&1
:: 4. 重置网络适配器
echo [步骤5/5] 重置网络适配器...
netsh int ip reset >> %logfile% 2>&1
echo.
echo [%date% %time%] 修复完成 >> %logfile%
echo 网络修复完成!正在重新检测网络连接...
timeout /t 5 /nobreak >nul
:: 重新检测
ping -n 3 8.8.8.8 >nul 2>&1
if %errorlevel% equ 0 (
echo ✓ 修复成功!网络连接已恢复。
echo [%date% %time%] 修复成功 >> %logfile%
goto :check_dns
) else (
echo ✗ 修复失败,请检查物理连接或联系网络管理员。
echo [%date% %time%] 修复失败 >> %logfile%
goto :end
)
:fix_dns
echo.
echo ======== 修复DNS配置 ========
echo [%date% %time%] 修复DNS配置 >> %logfile%
:: 清空DNS缓存
ipconfig /flushdns >> %logfile% 2>&1
echo ✓ DNS缓存已清空
:: 设置备用DNS(Google DNS)
echo 设置备用DNS服务器...
netsh interface ip set dns "以太网" static 8.8.8.8 primary >> %logfile% 2>&1
netsh interface ip add dns "以太网" 8.8.4.4 index=2 >> %logfile% 2>&1
echo [%date% %time%] DNS配置已修改 >> %logfile%
echo DNS配置已修改,等待生效...
:: 检测DNS修复结果
timeout /t 3 /nobreak >nul
ping -n 3 www.baidu.com >nul 2>&1
if %errorlevel% equ 0 (
echo ✓ DNS修复成功!
) else (
echo ✗ DNS修复失败,建议手动检查网络设置
)
goto :end
:end
echo.
echo ========================================
echo 检测日志已保存至: %logfile%
echo ========================================
echo.
pause
PowerShell 版本(功能更强大)
# 网络自动检测与修复脚本 (PowerShell)
# 保存为 NetworkDiagnostic.ps1
$logFile = "network_diagnostic_$(Get-Date -Format 'yyyyMMdd_HHmmss').log"
Write-Host "========================================" -ForegroundColor Cyan
Write-Host " 网络自动检测与修复工具 (PowerShell)" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
function Write-Log {
param([string]$message)
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"$timestamp - $message" | Out-File $logFile -Append
Write-Host $message
}
# 检测网络连接
Write-Log "开始网络检测..."
$pingResult = Test-Connection -ComputerName "8.8.8.8" -Count 3 -Quiet
if ($pingResult) {
Write-Log "✓ 网络连接正常"
# 检测DNS
try {
$dnsResult = [System.Net.Dns]::GetHostEntry("www.baidu.com")
Write-Log "✓ DNS解析正常"
Write-Log "所有检测通过,网络运行正常!"
exit 0
}
catch {
Write-Log "✗ DNS解析异常"
Write-Log "开始修复DNS..."
Fix-DNS
}
}
else {
Write-Log "✗ 网络连接异常"
Write-Log "开始修复网络连接..."
Fix-Network
}
function Fix-Network {
Write-Log "====== 开始修复网络连接 ======"
# 释放IP
Write-Log "释放IP地址..."
ipconfig /release | Out-File $logFile -Append
Start-Sleep -Seconds 2
# 更新IP
Write-Log "更新IP地址..."
ipconfig /renew | Out-File $logFile -Append
Start-Sleep -Seconds 3
# 清空DNS缓存
Write-Log "清空DNS缓存..."
ipconfig /flushdns | Out-File $logFile -Append
# 重置网络
Write-Log "重置网络适配器..."
netsh int ip reset | Out-File $logFile -Append
netsh winsock reset | Out-File $logFile -Append
Write-Log "修复完成,等待网络恢复..."
Start-Sleep -Seconds 5
# 重新检测
$retry = Test-Connection -ComputerName "8.8.8.8" -Count 3 -Quiet
if ($retry) {
Write-Log "✓ 修复成功!网络已恢复"
} else {
Write-Log "✗ 修复失败,建议检查物理连接"
}
}
function Fix-DNS {
Write-Log "====== 修复DNS配置 ======"
# 清空DNS缓存
ipconfig /flushdns | Out-File $logFile -Append
Write-Log "✓ DNS缓存已清空"
# 获取网络适配器名称
$adapter = Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Select-Object -First 1
if ($adapter) {
# 设置DNS
Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex -ServerAddresses ("8.8.8.8", "8.8.4.4")
Write-Log "✓ DNS已设置为 Google DNS (8.8.8.8, 8.8.4.4)"
Start-Sleep -Seconds 3
# 验证DNS
try {
[System.Net.Dns]::GetHostEntry("www.baidu.com") | Out-Null
Write-Log "✓ DNS修复成功"
} catch {
Write-Log "✗ DNS修复失败,建议手动检查"
}
} else {
Write-Log "✗ 找不到活动的网络适配器"
}
}
Write-Log ""
Write-Log "诊断日志已保存到: $logFile"
Read-Host "按Enter键退出"
使用方法
批处理版本:
- 将所有代码保存为
fixnetwork.bat - 右键点击 - "以管理员身份运行"
PowerShell版本:
- 保存为
NetworkDiagnostic.ps1 - 以管理员身份运行 PowerShell
- 执行:
Set-ExecutionPolicy RemoteSigned -Force - 执行:
.\NetworkDiagnostic.ps1
脚本功能说明
主要检测内容:
- ✅ Ping外部IP(8.8.8.8)检测网络连通性
- ✅ DNS解析测试
- ✅ 自动释放/更新IP地址
- ✅ 清空DNS缓存
- ✅ 重置网络协议栈
- ✅ 设置备用DNS服务器
修复操作:
- 自动释放并更新IP地址
- 清空DNS解析缓存
- 重置Winsock目录
- 重置网络适配器
- 设置Google公共DNS作为备用
注意事项:
- ⚠️ 需要管理员权限运行
- ⚠️ 部分操作会导致短暂断网
- ⚠️ DNS修改可能需要手动恢复
- 📝 所有操作都会记录到日志文件
这个脚本适合在遇到网络故障时快速诊断和修复常见问题,如果问题持续存在,建议检查物理连接或联系网络管理员。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播