Batch détecteur interface Web

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Eik597
Batcheur occasionnel
Messages : 2
Enregistré le : 08 août 2019 11:19

Batch détecteur interface Web

Message par Eik597 »

Bonjour à tous,

Je suis novice en la matière, j'ai créé un batch simple qui lit des IP dans un fichier.txt et qui pour chaque ligne, lance Chrome avec ces IP, mon objectif est de voir toutes celles qui contiennent une interface WEB (Interface d'imprimante par exemple).

Le problème, c'est qu'actuellement, s'il y a 70 IP et que 3 seulement sont des imprimantes, cela charge les 70 onglets, 3 où le lien est trouvé et 67 autre "page non trouvé". C'est pas pratique..

Je regarde sur le web mais je ne sais pas comment faire pour qu'il aille à l'essentiel et que seul ces 3 interfaces se charge dans Chrome...

Bon niveau code, ca donne ça pour le moment :D :

Il faut juste que Chrome soit lancé une première fois.. sinon, ca créé chaque page une à une, c'est la mort... ^^

@echo off
cls

echo Voir Interface Web
for /f "delims=" %%i in ('type fichier.txt') do "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %%i

echo.
pause

:D

Je vous remercie pour votre aide !!! Je n'ai pas la moindre idée de comment m'en sortir !
Flammrock
Batcheur occasionnel
Messages : 2
Enregistré le : 08 août 2019 00:57

Re: Batch détecteur interface Web

Message par Flammrock »

Code : Tout sélectionner

@echo off



for /f "delims=" %%i in ('type fichier.txt') do (
    echo;Analyse de "%%~i"...
    call :isPrinter "%%~i" && (
        echo;     - "%%~i" est une imprimante
        call :hasInterfaceWeb "%%~i" && (
            echo;     - "%%~i" possede une interface web
            echo;     - ouverture dans chrome..
            "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "%%~i"
        ) || (
            echo;     - "%%~i" ne possede pas une interface web
        )
    ) || (
        echo;     - "%%~i" n'est pas une imprimante
    )
)




pause>nul&exit
:isPrinter <HOST>
for /f "usebackq delims=" %%i in (`powershell -c "$t = New-Object System.Net.Sockets.TcpClient '%~1', 9100; if($t.Connected) {Write-Host 'OK'}"`) do (
    if "%%~i"=="OK" exit /b 0
)
exit /b 1
:hasInterfaceWeb
for /f "usebackq delims=" %%i in (`powershell -c "$t = New-Object System.Net.Sockets.TcpClient '%~1', 80; if($t.Connected) {Write-Host 'OK'}"`) do (
    if "%%~i"=="OK" exit /b 0
)
exit /b 1
Eik597
Batcheur occasionnel
Messages : 2
Enregistré le : 08 août 2019 11:19

Re: Batch détecteur interface Web

Message par Eik597 »

Un grand merci Flammrock ! A la fois pour la réactivité et l'efficacité :lol:

C'est le top ! Je vais pouvoir l'adapter exactement comme je veux :)
Répondre