2

たとえば、Web サイトに ping を実行するバッチ ファイルを作成しています。

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を実行します

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

これは良いことですが、私のプログラムはそれを知らずに IP アドレスを見つけなければなりません。したがって、findstrコマンドはここで IP アドレスを取得することを知っている必要があります...

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

findstrしたがって、その文字列の IPである必要があります。しかし、私はグーグルで検索しましたが、何も見つかりませんでした。

4

2 に答える 2

0

これを試して:

@echo off &setlocal 
for /f "tokens=2delims=[]" %%i in ('ping -n 1 youtube.com^|find "["') do set "ip=%%i"
echo.%ip%>>file.txt
endlocal
于 2013-03-18T19:20:08.237 に答える