programacion programa por para lotes ejemplos ejecutar crear como comentarios comandos batch bat avanzados avanzada archivos archivo batch-file telnet

batch-file - por - crear archivo bat para ejecutar programa



¿Es posible usar un archivo por lotes para establecer una sesión de telnet, enviar un comando y hacer que la salida se escriba en un archivo? (5)

Ejecuto el siguiente archivo por lotes para establecer una sesión de telnet en un dispositivo y crear un archivo que contenga información extraída del dispositivo.

CD/ COLOR 0E CLS @echo off ECHO This will start the connection to the Heraeus QuicK-Lab DATACAST ENtouch. pause telnet 172.17.0.16 4224 -f C:/LogFiles/Datacast.log

Una vez establecida la sesión de telnet, escribo un comando para volcar datos a Datacast.log como se especifica en la última línea de código. Espero incluir el comando ("M3,1,999" por ejemplo) en el archivo por lotes de alguna manera pero no puedo encontrar ejemplos similares.

¿Es posible hacer esto con un archivo por lotes?


Descubrí una forma de hacer telnet a un servidor y cambiar un permiso de archivo. Luego transfiera el archivo a su computadora y ábralo. Esperemos que esto responda a sus preguntas y también ayude a FTP.

La variable filepath está configurada para que siempre inicies sesión y cd en el mismo directorio. Puede cambiarlo a un mensaje para que el usuario pueda ingresarlo manualmente.

:: This will telnet to the server, change the permissions, :: download the file, and then open it from your PC. :: Add your username, password, servername, and file path to the file. :: I have not tested the server name with an IP address. :: Note - telnetcmd.dat and ftpcmd.dat are temp files used to hold commands @echo off SET username= SET password= SET servername= SET filepath= set /p id="Enter the file name: " %=% echo user %username%> telnetcmd.dat echo %password%>> telnetcmd.dat echo cd %filepath%>> telnetcmd.dat echo SITE chmod 777 %id%>> telnetcmd.dat echo exit>> telnetcmd.dat telnet %servername% < telnetcmd.dat echo user %username%> ftpcmd.dat echo %password%>> ftpcmd.dat echo cd %filepath%>> ftpcmd.dat echo get %id%>> ftpcmd.dat echo quit>> ftpcmd.dat ftp -n -s:ftpcmd.dat %servername% del ftpcmd.dat del telnetcmd.dat


El microsoft telnet.exe no es telnet.exe secuencias de comandos sin usar otra secuencia de comandos (que necesita enfoque del teclado), como se muestra en otra respuesta a esta pregunta, pero hay una telnet.exe gratuita

Telnet Scripting Tool v.1.0 by Albert Yale

que puede buscar en Google y que puede ser ejecutable en secuencias de comandos y se puede registrar y se puede iniciar desde un archivo por lotes sin necesidad de utilizar el teclado.

El problema con telnet.exe y una segunda secuencia de comandos cuando se usa el enfoque del teclado es que si alguien está usando la computadora en el momento en que se ejecuta la secuencia de comandos, es muy probable que la secuencia de comandos falle debido a los clics del mouse y al uso del teclado. momento en el tiempo.


En primer lugar, una advertencia. ¿Por qué quieres usar telnet? telnet es un protocolo antiguo, inseguro y poco práctico para el acceso remoto. Ha sido (casi) totalmente reemplazado por ssh .

Para responder a sus preguntas, depende. Depende del cliente telnet que uses. Si usas Microsoft Telnet, no puedes . Microsoft Telnet no tiene ningún medio para enviar comandos desde un archivo por lotes o una línea de comandos.


Esto es viejo, pero alguien más puede tropezar con él como yo lo hice. Cuando te conectas a DataCast, estás hablando con un demonio que puede acceder a la base de datos. Se pretendía que un cliente escribiera algún código para acceder a la base de datos y almacenar los resultados en algún lugar. Simplemente sucede que telnet funciona para acceder a los datos manualmente. netcat también debería funcionar. ssh, obviamente, no lo hará.


Tal vez algo como esto?

¿Crear un lote para conectarse a telnet y ejecutar un script para emitir comandos? source

Archivo por lotes (llamado Script.bat):

:: Open a Telnet window start telnet.exe 192.168.1.1 :: Run the script cscript SendKeys.vbs

Archivo de comando (llamado SendKeys.vbs):

set OBJECT=WScript.CreateObject("WScript.Shell") WScript.sleep 50 OBJECT.SendKeys "mylogin{ENTER}" WScript.sleep 50 OBJECT.SendKeys "mypassword{ENTER}" WScript.sleep 50 OBJECT.SendKeys " cd /var/tmp{ENTER}" WScript.sleep 50 OBJECT.SendKeys " rm log_web_activity{ENTER}" WScript.sleep 50 OBJECT.SendKeys " ln -s /dev/null log_web_activity{ENTER}" WScript.sleep 50 OBJECT.SendKeys "exit{ENTER}" WScript.sleep 50 OBJECT.SendKeys " "