1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| echo Heure de début: %TIME%>>condition.txt
:BOUCLE
set IP4=2
for /F "delims=" %%v in (IP.txt) do (call :BOUCLE1 %%v)
REM Fin de programme.
goto :eof
REM %1 est le paramètre passé via "call", donc anciennement ta variable "IP".
:BOUCLE1
snmpget -v 1 -c public -L n: %1%IP4% %C1%
if errorlevel 1 call :ERREUR1
portqry -n %1%IP4% -e 515 -p TCP -nr
if errorlevel 1 call :ERREUR1
for /f "delims=" %%a in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C1%') do set Description=%%a
for /f "delims=" %%b in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C2%') do set SerieContact=%%b
for /f "delims=" %%c in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C3%') do set NomImp=%%c
for /f "delims=" %%d in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C4%') do set AddMac1=%%d
for /f "delims=" %%e in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C5%') do set AddMac2=%%e
for /f "delims=" %%f in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C6%') do set Modele=%%f
for /f "delims=" %%g in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C7%') do set Serie=%%g
for /f "delims=" %%h in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C8%') do set SerieDell=%%h
for /f "delims=" %%i in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C9%') do set SerieHP=%%i
for /f "delims=" %%j in ('snmpget -v 1 -c public -Oqv -L n: %1%IP4% %C10%') do set SerieCanon=%%j
echo %1%IP4%;%Description%;%SerieContact%;%NomImp%;%AddMac1%;%AddMac2%;%Modele%;%Serie%;%SerieDell%;%SerieHP%;%SerieCanon%>>condition.txt
REM Retour à l'appelant.
goto :eof
:ERREUR1
set /A IP4=IP4+1
IF not %IP4%==10 goto :eof
REM Ne pas imbriquer comme ça les tests d'erreurs... Je laisse en place, la condition de sortie est mal pensée.
REM if not %IP%==172.29.2. GOTO BOUCLE |