我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看

我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看,第1张

@echo off & setlocal enabledelayedexpansion

for /f "tokens=4" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~a"

echo 本机可上网网卡名称:%ConName%,回车直接输入默认可上网网卡名称

echo "以太网适配器 %ConName%"

set /p ConName=请输入可上网网卡名称:

for /f "tokens=1,2 delims=:" %%a in ('ipconfig') do (

if "%%a"=="以太网适配器 %ConName%" set "flag=1"

if "!flag!"=="1" (if "%%a"==" IPv4 地址 " set "ip=%%b")

)

echo IP=%ip%

pause

ip=requestserverVariables("remote_addr")

wf=servermappath("abctxt")

set fs=servercreateobject("scriptingfilesystemobject")

set o=fsCreateTextFile(wf,true)

owriteline(ip)

oclose

set o=nothing

set fs=nothing

新建一个txt文档。

输入:

ping 19216801(IP地址随便换)

保存时,选择所有文档,后缀名改为 bat 即可。

点击一下就会自动ping IP地址4次。

下面的命令可以使电脑自动获取IP和DNS:

::自动获取IP 

netsh interface ipv4 set address "本地连接" dhcp

::自动获取DNS

netsh interface ipv4 set dns "本地连接" dhcp  

::开始打印机的服务,spooler可换成需要开启的服务

net start spooler

命令行中修改IP和DNS都是使用netsh命令,这个命令很强大,你可以在命令行中输入:"netsh /?",获取它的帮助信息。另外,如果你的电脑是使用网线上网,请将本地连结改成电脑上本地网卡的名字;如果是无线连接,请改成无线网卡的名字。

命令行中启用服务的命令是"net start 服务名",后面要跟服务的名字(如下图), 而关闭服务的命令是"net stop 服务名"

@echo off

rem =======================ip地址=======================

ver|find "5">nul || goto win7

:WINXP

for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IP Address"') do set mip=%%i

goto next

:win7

for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IPv4"') do set mip=%%i

goto next

:next

echo 当前IP为:%mip%

echo=

setlocal enabledelayedexpansion

for /f "delims= tokens=1,2,3,4" %%i in ("%mip%") do (

    set /a realip=%%l+200

    echo 目标IP实际为:%%i%%j%%k!realip!

    )

pause

我后面加上的代码仅仅获取到你要的那个推后200的ip,并未加入其他功能,若有其他需求,欢迎追问。也许还要判断IP小于255等等。

打开记事本

复制以下内容

@echo off

ipconfig>ipctxt

netsh interface ip show address>gwctxt

for /f "delims=: tokens=2" %%a in ('find "IPv4 地址" ipctxt') do set IP=%%a

for /f "delims=: tokens=2" %%b in ('find "子网掩码" ipctxt') do set mask=%%b

for /f "delims=: tokens=2" %%i in ('find "默认网关" gwctxt') do set gw=%%i

netsh interface ip set address "本地连接" static %IP% %mask% %gw% 0

netsh interface ip set dns "本地连接" static 首DNS  primary

netsh interface ip add dns "本地连接" 次DNS

del ipctxt

del gwctxt

pause

------------------------

注:需要修改地方有两个,那就是首DNS和次DNS,这个根据你电脑实际的DNS进行修改。

然后另存为bat文件,记得保存类型为所有文件。

3

运行bat文件就可以使用了。当bat文件运行完成后,就会提示“请按任意键继续”,按任意键就可以退出。这里就表示已经把自动获取的IP自动转化为静态IP。

以上就是关于我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看全部的内容,包括:我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看、求高手编写一个自动获取Ip的bat文件、使用bat文件,自动ping IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9666484.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存