[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理如何辨认ipv4和ipv6的地址,并抓取ip地址?

想写一个批处理ping自己的拨号上网ip,如果出现断网就自动关机,,代码如下
  1. echo.xp 系统下的
  2. for /f "tokens=2 delims=:" %%a in ('ipconfig^|find /i "ip"') do  set ip=%%a
  3. call echo.%%ip: =%%
  4. goto :xpeip4begin
  5. :xpeip4begin
  6. echo.   您的ip是:%ip%
  7. ping -n 60 %ip% >nul
  8. if "%errorlevel%"=="0" (cls & echo 网络通畅,电脑将继续运行) else (echo 网络断开,电脑将在一分钟后关机 & goto xpe4shutdown)
  9. goto :xpeip4begin
  10. echo.    windows7下的
  11. for /f "tokens=2 delims=:" %%a in ('ipconfig^|find /i "ipv4"') do  set ipv4=%%a
  12. call echo.%%ipv4: =%%
  13. goto :wp7ip6begin
  14. :wp7ip6begin
  15. echo.   您的ipv4是:%ip%
  16. ping -n 60 %ipv4% >nul
  17. if "%errorlevel%"=="0" (cls & echo 网络通畅,电脑将继续运行) else (echo 网络断开,电脑将在一分钟后关机 & goto xpe4shutdown)
  18. goto :wp7ip6begin
  19. :xpe4shutdown
  20. shutdown -s -f -t 60
  21. pause >nul
  22. goto end
复制代码
问题1:上面的代码ipv4(windows 7)的情况下可以用,windows xp ipv4的情况下可用,windows xp如果开启ipv6的话就不认地址了。
问题2:批处理怎么辨别ipv4 和ipv6地址
问题3:怎么抓取ipv6的地址,然后ping得通自己的ip并关机。
请大家帮帮忙!

想写一个批处理ping自己的拨号上网ip,如果出现断网就自动关机


如果出现断网就自动关机,可以这样:
  1. Dim WSH, WMI, EVN
  2. Set WSH = CreateObject("Wscript.Shell")
  3. Set WMI = GetObject("winmgmts:\\.\root\wmi")
  4. Set EVN = WMI.ExecNotificationQuery("Select * from MSNdis_StatusMediaDisconnect")
  5. Do While True
  6. Set LatestEvent = EVN.NextEvent
  7. WSH.Run("shutdown -s -t 0")
  8. Loop
复制代码

TOP

回复2楼版主,你给的代码不能运行 dim不是内部命令,wsh.run  不是内部命令

TOP

3# a87750530
版主给的是vbs代码你存为test.vbs运行哈
一路飘过的鸟~~~

TOP

发现这段代码在ipv6下还是可以搞定的,就是不知道怎么用批处理区分ipv4和ipv6的地址
这段代码主要针对xp系统
  1. @echo off
  2. for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
  3. echo 你的IP是%ip%
  4. ping %ip% -t
  5. pause >nul
  6. goto net
复制代码

TOP

返回列表