标题: [网络连接] 关于用批处理解析网址的一点问题 [打印本页]
作者: zypA13510 时间: 2013-9-25 16:48 标题: 关于用批处理解析网址的一点问题
如题,输入网址后,用批处理返回相应IP。代码如下- @echo off
- echo 输入网址以获取IP地址,或输入exit退出
- echo.
- echo 要查询的网址:
- set /p ST= http://
- if /i "%ST%"=="exit" exit
- for /f "skip=1 tokens=2 delims=, " %%i in ('nslookup -vc %ST% 8.8.8.8 2^>nul^|find /i "Addr"') do echo %%i
- pause
复制代码
代码运行正常,不过由于启用了IPv6,返回的通常都是IPv6的地址。于是将代码修改如下,增加了-qt=a开关指定只获取IPv4地址- @echo off
- echo 输入网址以获取IP地址,或输入exit退出
- echo.
- echo 要查询的网址:
- set /p ST= http://
- if /i "%ST%"=="exit" exit
- 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
- pause
复制代码
然后就无法输出任何IP地址了……求解
作者: 522235677 时间: 2013-9-25 18:00
- @echo off
- set /p c=域名http://
- for /f "tokens=2 delims=[]" %%i in ('ping %c% -n 1 -w 1') do (set IP=%%i)
- echo %ip%
- pause
复制代码
直接在从ping返回的结果截取出来不是更好?
作者: Batcher 时间: 2013-9-25 20:48
-qt=a
在等号前面加个转义字符试试
-qt^=a
作者: zypA13510 时间: 2013-9-26 23:05
回复 2# 522235677
你看懂这个干什么用了吗?提示:-vc开关指定使用TCP方式请求DNS
作者: zypA13510 时间: 2013-9-26 23:08
回复 3# Batcher
可以了,谢谢
不过还是想问下为什么呢?批处理学的不多不明所以,求赐教
作者: Batcher 时间: 2013-9-27 08:43
回复 5# zypA13510
等号在那个地方的作用是命令分隔符,跟空格的作用相同。
如果要作为普通的等号来使用,就需要转义。
作者: 522235677 时间: 2013-9-27 16:03
回复 4# zypA13510
没仔细看
作者: zypA13510 时间: 2013-9-28 00:02
回复 7# 522235677
请上网搜索G{和谐}F【社会】W,你懂的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |