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

[网络连接] 关于用批处理解析网址的一点问题

如题,输入网址后,用批处理返回相应IP。代码如下
  1. @echo off
  2. echo 输入网址以获取IP地址,或输入exit退出
  3. echo.
  4. echo 要查询的网址:
  5. set /p ST= http://
  6. if /i "%ST%"=="exit" exit
  7. for /f "skip=1 tokens=2 delims=, " %%i in ('nslookup -vc %ST% 8.8.8.8 2^>nul^|find /i "Addr"') do echo %%i
  8. pause
复制代码
代码运行正常,不过由于启用了IPv6,返回的通常都是IPv6的地址。于是将代码修改如下,增加了-qt=a开关指定只获取IPv4地址
  1. @echo off
  2. echo 输入网址以获取IP地址,或输入exit退出
  3. echo.
  4. echo 要查询的网址:
  5. set /p ST= http://
  6. if /i "%ST%"=="exit" exit
  7. for /f "skip=1 tokens=2 delims=, " %%i in ('nslookup -vc -qt=a %ST% 8.8.8.8 2^>nul^|find /i "Addr"') do echo %%i
  8. pause
复制代码
然后就无法输出任何IP地址了……求解

  1. @echo off
  2. set /p c=域名http://
  3. for /f "tokens=2 delims=[]" %%i in ('ping %c% -n 1 -w 1') do (set IP=%%i)
  4. echo %ip%
  5. pause
复制代码
直接在从ping返回的结果截取出来不是更好?

TOP

-qt=a
在等号前面加个转义字符试试
-qt^=a
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# 522235677


    你看懂这个干什么用了吗?提示:-vc开关指定使用TCP方式请求DNS

TOP

回复 3# Batcher


    可以了,谢谢
    不过还是想问下为什么呢?批处理学的不多不明所以,求赐教

TOP

回复 5# zypA13510


等号在那个地方的作用是命令分隔符,跟空格的作用相同。
如果要作为普通的等号来使用,就需要转义。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# zypA13510


    没仔细看

TOP

回复 7# 522235677


    请上网搜索G{和谐}F【社会】W,你懂的

TOP

返回列表