这是我的批次的一部分...
for /f "delims=" %%i in ('C:\pathto\dig.exe www.example.com @8.8.8.8 +short') do set RIP=%%i
If %RIP%==93.184.216.119 (
ECHO - PASS >> results-file.txt
) else (
ECHO - FAIL >> results-file.txt
)
...这工作正常 - 除了,假设 DNS 服务器 8.8.8.8 不可用或损坏(因此为了测试用错误的 IP 替换它),然后,通常从命令行 dig.exe 将超时并最终返回。 ..
;; connection timed out; no servers could be reached
...然后返回到命令提示符。所以我希望该字符串在 %RIP% 中设置,因此 FAIL 将被打印到文件中,但是发生的情况是 dig.exe 运行、超时,然后 cmd.exe 刚刚关闭,并且没有任何内容写入文件,并且该批次的其余部分不会继续。
知道我哪里出错了吗?