¿Comando PUT no se reconoce como un comando interno?

Al querer enviar un archivo vía ftp me dice en ms-dos que el comando PUT no se reconoce como un comando interno, quisiera solucionar este conflicto :(

1 respuesta

Respuesta

¿Puedes contarme algo más sobre tu uso del put en MSDOS? Para que esté operativo tienes que establecer previamente una sección ftp desde el propio MSDOS. Algo como esto:

Ahí puedes ver los comandos disponibles, el PUT entre ellos.

Sesión FTP, no sección FTP, perdón.

Gracias por tu respuesta mira utilizo 2 archivos .bat uno con la sig. estructura:

ftp -s:copiaftp.bat  donde abro el ftp en ms-dos, donde utilizo un sistema operativo windows server 2003 y en otros equipos con windows XP y otros con windows server 2008

El siguiente bat que se llama copiaftp con la sig. estructura:

open sicasaserver2.no-ip.org
Usuario
password
lcd d:\rsice\rcob
cd cuautla/cobranza
put alumnos.cdx
put alumnos.dbf
put carreras.dbf

exit

Y lo ejecuto mediante una tarea programada, pero tiende a mandar el mensaje de que put no es un comando válido

El archivo de comando FTP (copiaftp en tu ejemplo) no tiene que ser un bat (y no debería serlo, por si acaso). Es un archivo plano de dónde se van a leer los comandos FTP. Pero por lo que dices me da la impresión de que no está funcionando como se espera y o bien la sesión FTP no se abre o se cierra antes de que le toque tratar los comandos PUT. Esto hace que esos comandos se estén enviando realmente al entorno MSDOS en lugar de hacerlo al entorno FTP. Y PUT no es un comando MSDOS. Por eso te dice esas cosas.

Si no ves claro esto puedes hacer una prueba en uno de tus equipos, abre una ventana MSDOS/CMD o como quieras llamarla y ejecuta desde ella el BAT que lanza el FTP (o ejecuta directamente el comando tal como lo has escrito, si el BAT en cuestión solo contiene ese comando). Así podrás ver el resultado de los comandos del COPIAFTP. Otra opción es "desviar" a un archivo de LOG el resultado del comando FTP. Algo como

ftp -s:copiaftp.bat > copiaftp.log

Aunque insisto en que yo le llamaría COPIAFTP.TXT en lugar de COPIAFTP.BAT para no inducir a error, porque no es un BAT (un BAT contiene comandos MSDOS no comandos FTP).

¿Qué pasó con esto? ¿Encontraste la solución?

Al parecer algún virus me esta bloqueando la conexión por que iabro ms-dos e inicio la sesión ftp y al querer conectarme al servidor ftp, me dice que host desconocido por ello pienso que no reconoce el comando put por que no se conecta al servidor, por que como momentaba creo una tarea programada para que del diario me envíe la información al servidor. ¿Otra cuestión como puedo hacer para que se sincronizen los archivos en el servidor como en la teraminal?

¿Has probado a hacer un ping (ping sicasaserver2.no-ip.org) al servidor antes del FTP? ¿Y un trace (tracert sicasaserver2.no-ip.org)? Obviamente si la tarea programada falla hay que intentar hacer lo mismo "en vivo" para ver cuál es la respuesta. Y como te decía suele ser útil grabar las respuestas al comando FTP en un log. Algo como:

ftp -s:copiaftp.bat > copiaftp.log

Si hay problemas un vistazo al fichero de LOG suele dar pistas.

Y ¿qué quieres decir con que "se sincronicen los archivos en el servidor como en la terminal"? Supongo que quieres decir algo así como recrear en el servidor una estructura de carpetas. Si me concretas algo tal vez pueda echarte una mano.

Hola buen dia ud. sabra como sincronizar archivos automaticamente  mediante ftp? 

Si con "sincronizar archivos automáticamente mediante ftp" te refieres a recrear en el servidor una estructura de carpetas mira a ver si esto te puede dar una idea:
Ftp subir todos los archivos y subdirectorios

Sería algo así:

:: Para enviar por FTP todos los archivos de una carpeta y recrear la estructura de la misma
@echo off
> ftp.txt echo usuario
>> ftp.txt echo clave
>> ftp.txt echo binary
>> ftp.txt echo lcd c:\musica\punk
for /f "tokens=2,* delims=\" %%a in ('dir /b /s /ad c:\musica\punk\*.*') do (call :CopiaDir "%%b")
goto :fin
:CopiaDir
set DirFtp=%1
set DirFtp=%DirFtp:\=/%
>> ftp.txt echo mkdir %DirFtp%
>> ftp.txt echo lcd %1
>> ftp.txt echo cd %DirFtp%
>> ftp.txt echo mput *.*
>> ftp.txt echo lcd c:\musica\punk
>> ftp.txt echo cd /public_html
goto :EOF
:Fin
>> ftp.txt echo quit >> ftp.txt
ftp -i -s:"ftp.txt" ipftp >> detalles.log

En este caso el directorio destino del FTP se pasaría como parámetro en la llamada al bat y se supone que la carpeta cuya estructura y archivos se quieren copiar es c:\musica\punk (habría que cambiar ese parámetro o pasarlo como segundo parámetro en la llamada al bat, en cuyo caso las líneas 6 y 17 serían:

>> ftp.txt echo lcd %2

Y la línea 7 quedaría:

for /f "tokens=2,* delims=\" %%a in ('dir /b /s /ad %2\*.*') do (call :CopiaDir "%%b")

La línea 18 probablemente fuera innecesaria.

Es posible que haya que hacer otros ajustes pero lo importante es saber si este diseño del trabajo te puede servir.

¿Qué pasó con esto? ¿Lo has leído? ¿Algo qué decir?

Hola buen día aun no he hecho la prueba, no he estado en la oficina, en cuanto realice la prueba te comento que paso, una pregunta extra tu sabrás, utilizar el Wake on Lan, ¿para prender una pc remotamente des un celular?

Muy bien. Espero tus noticias.

Respecto al WOL sé en que consiste pero no lo he utilizado nunca. Voy a intentarlo y ya te contaré. Pero antes quiero asegurarme de que hablamos de lo mismo, de WOL y no WoWLAN. Aunque creo que son bastante similares no quiero ponerme a probar una modalidad distinta de la que te/nos interesa.

Por lo que he visto hasta ahora hay que hacer unas cuantas cosas:

  1. Habilitar la opción correspondiente en la BIOS del equipo destino
  2. Habilitar encaminamiento en router para protocolo UDP 9 (o 7)
  3. Reconfigurar tarjeta de LAN para que permita el WakeUp
  4. Descargarse una app para ello, en mi caso de Android.

Como digo ya te contaré.

¿Alguna novedad en estos temas?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas