Hola a todos ,he comenzado a dar mis primeros pasos con el mundo de la programacion soy muy novato en esto ,resulta que estoy haciendo un .bat que se logue a un servidor telnet y desde ahi lanze un telnet a una IP donde nuevamente se logue hasta aca va todo bien,....el problema que el telnet a la IP,debe ser a una IP que se encuentre en un .txt o bien la IP sea introducida mediante un formulario .html al codigo...espero haberme esplicado bien
Aca les paso un aporte de un miembro de este foro: <ИΘZIЭ(ŦB> ,quien le debemos este aporte :
Cita de: <ИΘZIЭ(ŦB> en 10 Noviembre 2009, 03:09 AM
Vé a ver si esto te sirve. Necesitas tener un archivo de texto (IPList.log) que contenga una IP o Host en cada línea. No importa cuántas líneas tenga; lo que cuenta es que haya una IP en cada una. A partir de ahí todo resulta bien.
@echo off
cls
set cont=0
title Ping Maker [v0.1] By ^<N0ZI3(FB^>
If exist "%~dp0IPList.log" (goto Read) else (goto Error)
:Read
for /f "useback tokens=*" %%L in ("%~dp0IPList.log") do (
echo. & echo Procesando %%L & echo.
set "host=%%L"
ping %%L >"%temp%\ping.log"
call:SaveLog1
)
If not defined host (
echo. & echo ERROR: La lista de IP's est vac¡a. & sleep 2
echo. & echo Cerrando...
sleep 5
exit /b
)
echo. & echo Terminado.
del "%temp%\ping.log"
pause>nul
exit
:SaveLog1
If [%errorlevel%] == [0] set "opFile=%~dp0ping_OK.log"
If [%errorlevel%] == [1] set "opFile=%~dp0ping_Down.log"
(echo Resultados de %host% & echo.)>>"%opFile%"
For /f "useback tokens=*" %%S in ("%temp%\ping.log") do (
set "line=%%S"
call:SaveLog2
)
If [%errorlevel%] == [0] (
echo -------------------------------------------------------------------------------
echo ------------------------------------------------------------------------------->>"%opFile%"
)
echo. >>"%opFile%"
goto:eof
:SaveLog2
If ["%line%"] neq [""] (
echo %line%
echo %line% >>"%opFile%"
) else (
echo -------------------------------------------------------------------------------
echo ------------------------------------------------------------------------------->>"%opFile%"
)
goto:eof
:Error
echo. & echo ERROR: No se encontr¢ la lista de IP's (IPList.log).
echo Debe crearla en el directorio actual y ejecutar
echo nuevamente la aplicaci¢n. & sleep 2
echo. & echo Cerrando...
sleep 10
exit /b
Pruébalo y verás.. Avisa qué tal te va con él.
Saludos.
OJO: Acabo de hacerle un pequeño ajuste respecto al archivo que guardo en %temp%, por si habían copiado el código. Sería bueno que lo copien otra vez.
lo que hace esto es lo siguiente,toma un nuemero IP escrito en la primera linea de un archivo de texto llamado "IPList.log" y luego lanza ping a esa IP....la segunda pregunta es como se podria adaptar este codigo para que en un server telnet lanzar otro telnet (en vez de ping) a una IP que se encuentre en IPList.log ? ::)
Desde ya muchas gracias a todos
P.D.: estoy usando el nircmd.exe para estas cosas ;D
Investigando un poco mas encontre esto pude resolver lo de leer el .txt:
-Lo que hace esto es copiar al portapapeles una direccion IP que se encuentra en el archivo IP.txt
luego guarda el valor en un temportal,lo nombra como la variable %IP% ,y despues se ejeuta telnet %IP%,
Citar
@echo off
nircmd clipboard readfile "IP.txt"
nircmd clipboard writefile "%temp%\t.tmp"
<"%temp%\t.tmp" set /p "IP="
telnet %IP%
pause
exit /b 0
-Lo siguiente introduce la primera linea del .txt ,y despues ejecuta telnet a %IP%
Citar
<"PT.txt" set /p "IP="
set "IP"
telnet %IP%
Ahora bien....el primer telnet se ejecuta pero al lanzar el segundo,se ejecuta en otra ventana,y como resultado
son dos telnet cada uno en su ventana,y no como debieria ser todo dentro de una
como hacer esto????????????????? alguna idea??? desde ya gracias
Citar
telent XXXXXXXXXX
Login: asdasd
Password: asdasd
y una vez adentro....
telnet %IP%
info complemetaria:
Citarhttp://foro.elhacker.net/scripting/problema_con_bat_para_telnet-t256251.0.html
el_peregrino_gris_
men no importa cuantas ventanas se te salgan lo importante es que funcione y si te funciona pasalo ´porfa. yo e buscado como loco pero no e encontrado como hacer un BENDITO telnet en .bat y que corra una serie de comandos siempre llego hasta el punto donde entra al telnet y ya no pasa nada :huh: