elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  batch ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: batch ayuda  (Leído 2,187 veces)
Dragonasu

Desconectado Desconectado

Mensajes: 4


Ver Perfil
batch ayuda
« en: 25 Mayo 2015, 12:32 pm »

No entiendo porque no me funciona el siguiente codigo, lo que quiero hacer es subir un archivo a FTP que se encuentra en la carpeta qwerty y como el archivo cada dia se llamara diferente porque tiene puesto de nombre la fecha pues tengo el siguiente codigo pero no me funciona. Una ayuda porfavor he intendado de todo pero nose que mas puedo hacer.
Código
  1. usuario
  2. constrasena
  3. ascii
  4. Rem Fecha de maniana
  5. set /a d=%date:~0,2%
  6. set /a m=%date:~3,2%
  7. set /a y=%date:~6,4%
  8. Rem Ruta de donde se cogen los archivos para subir.
  9. SET RUTA1=D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\
  10.  
  11. Rem Operacion que sirve para calcular el dia de maniana
  12. :loop
  13.   set /a d+=1
  14.  
  15.   if %d% gtr 31 (
  16.      set d=1
  17.      set /a m+=1
  18.  
  19.      if %m% gtr 12 (
  20.         set m=1
  21.         set /a y+=1
  22.      )
  23.   )
  24.  
  25. xcopy /d:%m%-%d%-%y% /h /l "%~f0" "%~f0\" >nul 2>&1 || goto loop
  26.  
  27. echo %d%/%m%/%y%
  28.  
  29.  
  30. Rem Ruta FTP donde estan los archivos que se quiera descargar.
  31. cd /uploads/prueba2
  32. put %RUTA1%MaaxD10_2_%d%.%m%.%y%.00.00_FaroFarelo.txt
  33. close
  34. bye


« Última modificación: 25 Mayo 2015, 16:44 pm por engel lex » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.808



Ver Perfil
Re: BATCH AYUDA
« Respuesta #1 en: 25 Mayo 2015, 16:32 pm »

Un script del comando FTP.exe debe contener unicamente instrucciones de dicho comando, no búcles FOR de Batch, ni otros comandos externos cómo XCopy, ni nada semejante, esas instrucciones no las va a interpretar el comando FTP.exe.

Lo que debes hacer es, en un script de Batch normal y corriente (script.cmd), primero obtienes la fecha que quieras, y luego generas el script del comando FTP.exe (script.txt) escribiendo el nombre del archivo con esa fecha que previamente obtuviste, y por último, inicias el comando FTP.exe pasándole cómo argumento ese script que generaste.

De todas formas Batch es un lenguaje muy limitado, y usar el comando FTP de Microsoft es complicarse la vida, si en lugar de utilizar un lenguaje de programación para manejar el protocolo FTP quieres utilizar herramientas de terceros cómo estás haciendo, entonces te sugiero que utilices los puertos de las aplicaciones WPUT y WGET de Linux para Windows, que deberían curbrir tus necesidades.

WPUT for Windows
WGET for Windows

Saludos!


En línea

KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: batch ayuda
« Respuesta #2 en: 25 Mayo 2015, 19:41 pm »

E corregido tus lineas, e echo el Script funcional, si lo que quieres es descargar no subir archivos solo cambia "pu" por "get".

Código
  1. set /a d=%date:~0,2%
  2. set /a m=%date:~3,2%
  3. set /a y=%date:~6,4%
  4.  
  5.   set /a d+=1
  6.  
  7.   if %d% gtr 31 (
  8.      set d=1
  9.      set /a m+=1
  10.  
  11.      if %m% gtr 12 (
  12.         set m=1
  13.         set /a y+=1
  14.      )
  15.   )
  16.  
  17. xcopy /d:%m%-%d%-%y% /h /l "%~f0" "%~f0\" >nul 2>&1 >>D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\*.LOG
  18.  
  19. cd D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\
  20. dir >>D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\Log_%d%.%m%.%y%..LOG
  21.  
  22. ftp -i -s:"%~f0"
  23. open HOSTNAME
  24. USERNAME
  25. PASSWORD
  26. lcd D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\
  27. pu "*.LOG"
  28. ! del D:\Carpeta1\DarFilezilla\Func\Bajar\qwerty\*.LOG
  29. bye
  30. cls
  31. @echo off
  32. echo ************************************************
  33. echo   Script para la comunidad elhacker.net By KZN
  34. echo ************************************************
  35. pause >nul 2>&1
« Última modificación: 25 Mayo 2015, 20:59 pm por Eleкtro » En línea

Dragonasu

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: batch ayuda
« Respuesta #3 en: 28 Mayo 2015, 11:16 am »

Gracias Eleкtro, KZN por la ayuda.
Tengo una ultima duda en el codigo de KZN. En la parte donde aparece *.LOG que habria que poner? He intentado con el nombre del archivo que necesito pero no me funciona, es este: MaaxD10_2_%d%.%m%.%y%.00.00_FaroFarelo.txt


EDITO: Me estoy liando, el script que me ha enviado KZN es solamente un archivo, es decir solo con eso deberia funcionar? Lo he llamado .bat pero cuando lo inicializo me pone fallo cuando intenta conectar con FTP
« Última modificación: 29 Mayo 2015, 12:57 pm por Dragonasu » En línea

KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: batch ayuda
« Respuesta #4 en: 29 Mayo 2015, 14:37 pm »

tienes dos opciones o cambiar la extensión a .txt o dejarlo en .log pero no te recomiendo poner "MaaxD10_2_%d%.%m%.%y%.00.00_FaroFarelo.txt" porque entonces ya si estropeas el Batch
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Soclucionado) [BATCH] Ayuda con este batch! (%ERRORLEVEL%)
Scripting
SuperDraco 5 13,833 Último mensaje 23 Enero 2011, 15:23 pm
por SuperDraco
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
$pedrojo2704 2 5,515 Último mensaje 23 Agosto 2012, 10:08 am
por $pedrojo2704
[Batch] Ayuda: Añadir linea a batch
Scripting
Grasky 4 7,153 Último mensaje 4 Octubre 2012, 11:17 am
por Grasky
[AYUDA][BATCH] Usar echo vacio en BATCH sin que diga que esta desactivado?
Scripting
Noxware 2 8,147 Último mensaje 6 Mayo 2014, 17:46 pm
por PedroDJavier
[AYUDA][BATCH] Poner contraseña con maximo de intentos en batch
Scripting
Rikosky 3 4,104 Último mensaje 12 Mayo 2014, 01:30 am
por daryo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines