Você pode usar um arquivo em lotes
@echo off
setlocal enableextensions disabledelayedexpansion
rem Just to test - Generate a file with URLs
> ".\urls.txt" (
echo http://superuser.com
echo http://www.google.com
)
> ".\testResults.txt" (
for /f "useback delims=" %%u in (".\urls.txt") do (
set "statusCode="
echo([%%u]
for /f "tokens=1,2 delims=#" %%a in ('
curl -w "##%%{time_connect}##." -I -s --url "%%~u"
^| findstr /l /b /c:"HTTP/" /c:"##"
') do if "%%b"=="." (
setlocal enabledelayedexpansion
echo( !statusCode! - %%a
endlocal
) else (
set "statusCode=%%a"
)
)
)
Apenas dois loops aninhados. O primeiro itera sobre o arquivo de URLs e o segundo executa e processa a saída do comando curl
.
A saída do comando curl
é filtrada com findstr
para recuperar apenas as linhas com o código de status e o tempo de conexão (a cadeia de saída em -w
foi modificada para localizar esses dados na saída)