批处理文件,用于检查文本文件中的网站状态,并根据字符串

时间:2015-10-08 10:04:17

标签: parsing batch-file

我需要一些批处理专家帮助我解决这个问题。我有几个文件,通过它我们使用wget监控来自网站的响应。当网站关闭时,我们在test1.txt中获得以下响应代码:

Connecting to 10.x.x.x:443... failed: Bad file descriptor.

当网站运行时,test2.txt中的响应代码为

Connecting to 10.x.x.x:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK

我在上述输出中没有看到任何共同的模式,我可以根据这些模式形成逻辑。需要一些帮助来确定是否来自上面的输出

  • 如果网站正在运行,则不执行任何操作
  • 如果网站已关闭,请启动服务。

注意,我们只需要根据这些文件的输出来执行此操作。

尝试了所提供的解决方案,但它没有工作:

TestScript>wget-1.14.exe --spider --no-check-certificate https://somesite   | find "Bad file descriptor"  1>nul
Spider mode enabled. Check if remote file exists.
--2015-10-08 18:15:21--  https://somesite
Connecting to 10.x.x.x:443... failed: Bad file descriptor.
TestScript>if errorlevel 1 (echo site is up )  else (echo site is down )
site is up

1 个答案:

答案 0 :(得分:0)

wget的输出传输到find以查找Bad file descriptor,然后使用errorlevel

wget --spider http://someurl 2>&1 | find "Bad file descriptor" >nul
if errorlevel 1 (
    echo site is up
) else (
    echo site is down
)
  • 2>&1将消息重定向到标准输出,以便可以通过管道传输
  • --spider让wget只检查网址而不保存结果

或者使用您已有的文件:

if exist test1.txt find "Bad file descriptor" test1.txt >nul
if not errorlevel 1 (echo start the service)