BAT可手动选择网卡自动配置IP DHCP

1、手动IP配置

①单网卡时,无需选择网卡
②需要管理员权限
③可以根据不同的需要修改脚本实现不同的功能

@echo off

::管理员身份
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit


::查询所有网卡名称
for /f "tokens=4,5 delims= " %%i in ('netsh interface show interface') do (
	echo %%i %%j
	if "%%j" == "%kong%" (
		set int_temp=%%i
	) else (
		set int_temp=%%i %%j
	)
	set /a num1+=1
)

echo.
echo.

::判断是否只有一直张网卡
if %num1% == 2 (
	set network_name=%int_temp%
) else (
	set /p network_name=请输入网卡名称:
)

echo.
echo.

set kong=
::查找选择的网卡
for /f "tokens=4,5 delims= " %%i in ('netsh interface show interface ^| find "%network_name%"') do (
	::判断网卡名称中间是否存在空格
	if "%%j" == "%kong%" (
		set interface=%%i
	) else (
		set interface=%%i %%j
	)
)

echo ----------%interface%----------

echo.
echo.

if "%interface%" == "%kong%" (
	echo 未找到该网卡
	pause
	exit
)
::DHCP配置
::netsh interface ipv4 set address %interface% dhcp
::netsh interface ipv4 set dns %interface% validate=no dhcp

set /p ip=ip地址:
set mask=255.255.255.0
set /p gat=网关:
set dns1=192.168.1.1
set dns2=223.5.5.5

netsh interface ipv4 set address "%interface%" static %ip% %mask% %gat%
netsh interface ipv4 set dns "%interface%" validate=no static %dns1%
netsh interface ipv4 add dns "%interface%" validate=no %dns2%

echo IP配置完成

echo.
echo.
pause

2、全自动IP配置

①自动选择已连接的网卡
②前提网卡要开启并连接状态

@echo off

::管理员身份
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

set kong=
::查找选择的网卡
for /f "tokens=4,5 delims= " %%i in ('netsh interface show interface ^| find "已连接"') do (
	::判断网卡名称中间是否存在空格
	if "%%j" == "%kong%" (
		set interface=%%i
	) else (
		set interface=%%i %%j
	)
)

echo ----------%interface%----------

echo.
echo.

if "%interface%" == "%kong%" (
	echo 未找到网卡,请确保网卡已开启并连接
	pause
	exit
)

netsh interface ipv4 set address "%interface%" static 192.168.1.154 255.255.255.0 192.168.1.1
netsh interface ipv4 set dns "%interface%" validate=no static 192.168.1.1
netsh interface ipv4 add dns "%interface%" validate=no 223.5.5.5

echo IP配置完成

echo.
echo.
pause
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用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计划任务或其他自动化工具来定期运行该批处理脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值