CMD Findstr与平

我正在写一个batch file,例如:

Pinging youtube.com [173.194.70.91] with 32 bytes of data: Reply from 173.194.70.91: bytes=32 time=187ms TTL=44 Ping statistics for 173.194.70.91: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 187ms, Maximum = 187ms, Average = 187ms 

我的程序必须复制IP地址并将其保存到文本文件中。

因此,它成了一个文本文件

 ping youtube.com >> file.txt 

现在我使用findstr命令来查找IP地址。 这很好,如果我使用这个:

 ping youtube.com -n 1 >nul >>C:\Users\Adrian\Desktop\IP.txt findstr /i "Reply from 173.194.70.93: bytes=32 time=188ms TTL=43 C:\IP.txt IF %ERRORLEVEL% EQU 0 ( echo You are winning ) else ( echo You are losing ) pause 

现在它说我赢了,这是一件好事,但我的程序必须findIP地址,而不知道它。 所以findstr命令必须知道在这里得到IP地址…

 "Reply from 173.194.70.91: bytes=32 time=187ms TTL=44" 

所以它必须find来自该string的IP。 但是我一直在谷歌search,什么也没有find。

尝试这个:

 @echo off &setlocal for /f "tokens=2delims=[]" %%i in ('ping -n 1 youtube.com^|find "["') do set "ip=%%i" echo.%ip%>>file.txt endlocal 

如果PowerShell是可以接受的,那么你可以尝试:

 [System.Net.Dns]::GetHostAddresses("youtube.com") | foreach {echo $_.IPAddressToString }