用bat脚本监测网络公网ip地址
时间: 2024-01-30 18:01:34 浏览: 149
@echo off
setlocal enabledelayedexpansion
set previous_ip=
set current_ip=
:loop
rem 获取当前公网IP地址
for /f "tokens=2 delims=," %%a in ('nslookup myip.opendns.com. resolver1.opendns.com ^| find "Address"') do (
set current_ip=%%a
)
rem 检查当前IP地址是否与之前相同
if "!previous_ip!" neq "!current_ip!" (
echo IP地址已更改:%current_ip%
set previous_ip=!current_ip!
)
rem 等待5分钟后再次检查
timeout /t 300 >nul
goto loop
exit /b
相关问题
windows bat脚本自动获取本地公网IP发送到指定邮箱
您可以使用Windows批处理脚本(.bat)来实现自动获取本地公网IP并发送到指定邮箱的功能。以下是一个示例的批处理脚本:
```bat
@echo off
REM 配置发送邮箱和接收邮箱
set "sender_email=your_sender_email@gmail.com"
set "sender_password=your_sender_password"
set "receiver_email=your_receiver_email@gmail.com"
REM 获取公网IP
powershell -Command "(Invoke-WebRequest -Uri 'https://api.ipify.org').Content.Trim()" > ip.txt
REM 读取IP地址
set /p ip=<ip.txt
REM 发送邮件
powershell -ExecutionPolicy Bypass -Command "Send-MailMessage -SmtpServer 'smtp.gmail.com' -Port 587 -UseSsl -Credential (New-Object System.Management.Automation.PSCredential ('%sender_email%', (ConvertTo-SecureString -String '%sender_password%' -AsPlainText -Force))) -From '%sender_email%' -To '%receiver_email%' -Subject 'Public IP Notification' -Body 'Your public IP is %ip%'"
REM 删除临时文件
del ip.txt
```
请将脚本中的 `your_sender_email@gmail.com`、`your_sender_password`、`your_receiver_email@gmail.com` 替换为您自己的邮箱信息。确保您的邮箱支持SMTP服务,并开启了SMTP授权。这个示例使用了Gmail的SMTP服务器,如果您使用其他邮箱,请相应地修改SMTP服务器信息。
将以上代码保存为一个批处理脚本(例如 `get_public_ip.bat`),然后在Windows上运行该脚本,您的公网IP将会被获取并发送到指定的邮箱。您可以使用Windows计划任务或其他自动化工具来定期运行该批处理脚本。
bat脚本修改ip地址
好的,以下是一个简单的bat脚本修改ip地址的示例:
```
@echo off
netsh interface ip set address "本地连接" static 192.168.0.100 .255.255.0 192.168.0.1 1
```
其中,修改“本地连接”为你要修改的网络连接名称,192.168.0.100为你要设置的新ip地址,255.255.255.0为子网掩码,192.168.0.1为默认网关,1为metric值。
你可以根据自己的具体情况进行修改。注意,运行此脚本需要管理员权限。
阅读全文