Windowsバッチスクリプトを介してpingコマンドを使用してn千のIPのリストから応答を確認し、すべての結果をファイルに保存しようとしています(応答の場合はyes、そうでない場合はno)。これはバッチスクリプトでも可能ですか?以下に印刷されているスクリプト(pingingN.bat)を使用している場合、最初のIP回答しか得られません。
@ECHO OFF
SET ServerList="C:\MyPath\ip.txt"
SET LogFile="C:\MyPath\PingResults.txt"
IF EXISTS %LogFile% DEL %LogFile%
FOR %%a IN (%ServerList%) DO (
ping -n 1 %%a | find "TTL=" > NUL
IF %ERRORLEVEL% NEQ 0 (
echo no >> %LogFile%
) ELSE (
echo yes >> %LogFile%
)
)
私のコメントに基づいて、&&
および||
条件文を使用して、これを行う方法は次のとおりです。
@Echo Off
Set "ServerList=C:\MyPath\ip.txt"
Set "LogFile=C:\MyPath\PingResults.txt"
If Not Exist "%ServerList%" Exit /B
>"%LogFile%" (For /F UseBackQ %%A In ("%ServerList%"
) Do Ping -n 1 %%A|Find "TTL=">Nul&&(Echo Yes [%%A])||Echo No [%%A])
出力にIPも含めていることに注意してください。そうしないと、ログファイルに合格/不合格のIPが表示されません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加