那建议你还是试试用VB来写吧。批处理获取IP基本上就是IPCONFIG指令,从里面把IP地址分离出来并不简单。获取MAC地址有个GETMAC命令,但好像不是每个 *** 作系统都支持,我只在Windows 81上测试过。
@echo off
:3
set /p xz=选择你的IP地址方式:1为自动,2位手动
if %xz% == 1 goto 1
if %xz% == 2 goto 2
goto 3
:1
title 动态自动获取IP设置
set name=本地连接
netsh int ip set addr name="%name%" dhcp
netsh int ip set dns name="%name%" dhcp
netsh interface ipv4 show address #(这句是为了让BAT运行后显示出获得的IP)
echo 动态自动获取IP设置完成
pause&exit
:2
title 静态IP设置
set name=本地连接
set IP=101012
set mask=255255255128
set gw=101011
set dns=20210013868
set dns2=20210012868
netsh int ip set addr name="%name%" source=static addr=%IP% mask=%mask% gateway=%gw%
gwmetric=1
netsh int ip set dns name="%name%" source=static addr=%dns% register=primary
netsh int ip add dns name="%name%" addr=%dns2%
netsh interface ip set wins name="%name%" source=static addr=none
echo 静态IP设置完成
pause&exit
@echo off
setlocal enabledelayedexpansion
set isNetWork=0
for /f "tokens=1,2 delims=:" %%i in ('ipconfig /all') do (
echo %%i|findstr "以太网适配器">nul&&( for /f "tokens=1,2 delims= " %%x in ("%%i") do ( set interface=%%y ))&& set isNetWork=1
if "!isNetWork!"=="1" ( if not defined isDHCP ( echo %%i|findstr "DHCP 已启用">nul && set isDHCP=%%j && set isNetWork=0 ) )
if defined isDHCP (
if "!isDHCP:~1,-1!"=="否" (
echo 该IP是固定IP,不做任何修改&&pause&&exit
) else (
echo 修改IP中
echo netsh interface ip set address "!interface:~0,-1!" static 192168011 2552552550 19216801
echo pause&&exit
)
)
)
在
批处理文件
里面输入"netsh
interface
ip
set
address
name="本地连接"
source=dhcp"
其中"本地连接"是网络连接里面你的连接的名字,一般都是这个名字,如果有变化的话就改一下双击那个批处理文件就可以把IP获取改成DHCP的方式了
@Echo Off
Set ip=1921681100
For /f "tokens=1-3" %%i in ('ping -a -n 1 %ip%^|findstr "["') do (Echo %%j %ip%)
Pause
这个是显示一个ip对应的计算机名要显示局域网全部,最好把局域网所有IP保存到一个文本文件中使用for解析后显示也可以使用批处理简单计算后显示
以上就是关于批处理查询本地电脑 MAC和IP,全部的内容,包括:批处理查询本地电脑 MAC和IP,、批处理怎样手动输入IP与DHCP获取IP的问题、批处理判断IP获取方式,执行修改IP怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)