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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[batch] ayuda con este algoritmo
« en: 23 Diciembre 2008, 15:09 pm »

hola a todos 

como puedo implementar este algoritmo en batch ?

set ruta="c:\carpeta\archivo.exe"
SI (archivo.exe ha sido creado > 12/10/08)  O (su tamaño > 100)
ENTONCES   
        copiar a carpeta  "D:\BACKUP"
exit

pd. quiero manejar la ruta o el nombre del archivo desde dentro del bat
      No pasándolo como parametro en consola

muchas gracias por cualquier sugerencia


« Última modificación: 23 Diciembre 2008, 15:16 pm por general9000 » En línea

FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
Re: [batch] ayuda con este algoritmo
« Respuesta #1 en: 26 Diciembre 2008, 02:47 am »

mira lo que se hacer yo es que te diga si existe o no el archivo, pero lo de la fecha nuse :S.....

seria algo asi

Código:
@echo off

SET ruta="C:\carpeta\"

CD %ruta%

IF EXIST %ruta%\tuarchivo.exe (
echo El archivo existe....
echo copiando a "C:\backup"
copy %ruta%\tuarchivo.exe "D:\backup\"
IF %ERRORLEVEL% GTR 1 (ECHO error al copiar el archivo) & exit
) ELSE (el archivo no existe)
exit 0


asi deberia funcionar, lo que haces es que si existe el archivo te dice que existe xD, y despues lo copia a la carpeta "D:\backup\", ademas si hubo algun fallo al copiar el archivo te lo dice y sale del programa....

si no, sale del programa diciendote que no existe

mira pruebalo tal cual, y si te da algun error quitale la linea que dice "IF %ERRORLEVEL% GTR 1 (ECHO error al copiar el archivo) & exit"
y vuelve a probarlo.......

ahora para que te diga el dia creado y el peso del archivo nuse como hacerlo...

saludos ^^


En línea

Asdf debería ser algún tipo de función.
kraszic

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: [batch] ayuda con este algoritmo
« Respuesta #2 en: 26 Diciembre 2008, 17:02 pm »

hola a todos 

como puedo implementar este algoritmo en batch ?

set ruta="c:\carpeta\archivo.exe"
SI (archivo.exe ha sido creado > 12/10/08)  O (su tamaño > 100)
ENTONCES   
        copiar a carpeta  "D:\BACKUP"
exit

pd. quiero manejar la ruta o el nombre del archivo desde dentro del bat
      No pasándolo como parametro en consola

muchas gracias por cualquier sugerencia

Buenas, he hecho un code a ver si te sirve. Lo malo es que la fecha de creacion no la sabia sacar, asi que he sacado la fecha de modificacion del archivo.
Dejo el code comentado con rem, no lo he testeado.

Código
  1. @echo off
  2.  
  3. set anyo=2008
  4. set mes=10
  5. set dia=12
  6.  
  7. set ruta="c:\carpeta\archivo.exe"
  8.  
  9. call:func %ruta%
  10.  
  11. rem Mediante la funcion le pasamos el argumento %1 al programa. Creo que asi funcionara.
  12. :func
  13. echo %~t1 >file001.txt
  14. rem Obtenemos el formato de la fecha y lo guardamos en un archivo.
  15.  
  16. FOR /f "tokens=*" %%a in (file001.txt) do (set fe=%%a)
  17. set fe1=%fe:~0,2%
  18. set fe2=%fe:~3,2%
  19. set fe3=%fe:~6,4%
  20. rem Mediante el filtro for, cogemos la fecha y la separamos en fecha, año y mes segun nos interesa.
  21.  
  22. echo %~z1 >file001.txt
  23. FOR /f "tokens=*" %%a in (file001.txt) do (set tam=%%a)
  24. del /q file001.txt
  25. rem Aqui cogemos el tamaño del archivo con un for, igual que antes.
  26.  
  27. if %fe3% GTR %anyo% goto copiar
  28. if %fe3% LSS %anyo% goto casl
  29. if %fe2% GTR %mes% goto copiar
  30. if %fe2% LSS %mes% goto casl
  31. if %fe1% GTR %dia% goto copiar
  32. if %fe1% LSS %dia% goto casl
  33. rem Hacemos las distintas comparaciones para comprovar que la fecha sea mayor y finalmente si se cumple o es igual copia el archivo.
  34.  
  35. :copiar
  36. copy "c:\carpeta\archivo.exe" "D:\BACKUP"
  37.  
  38. :casl
  39. if %tam% LSS 100 exit
  40. goto copiar
  41.  

No lo he probado, ahora que pienso, a lo mejor no me hubiera hecho falta guardar la fecha y el tamaño del archivo en un archivo de texto y lo hubiera podido hacer directamente en una variable, pero no estaba muy seguro.
Seguramente se puede optimizar mas.

saludos

EDITO: Acabo de añadir al codigo lo del tamaño q me habia dejado..
« Última modificación: 27 Diciembre 2008, 13:19 pm por kraszic » 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 14,543 Último mensaje 23 Enero 2011, 15:23 pm
por SuperDraco
[BATCH] Ayuda con algoritmo, Accion sobre archivo de texto
Scripting
EAMP14 1 4,053 Último mensaje 19 Abril 2012, 13:43 pm
por Eleкtro
[Batch] Necesito ayuda con este .bat
Scripting
Adrex 1 8,205 Último mensaje 26 Febrero 2024, 13:02 pm
por destructor000
Ayuda con este algoritmo por favor?
Ejercicios
Yam H 9 5,409 Último mensaje 7 Mayo 2015, 04:55 am
por Yam H
Ayuda con este algoritmo
Java
Armando0908 0 1,610 Último mensaje 27 Mayo 2016, 22:39 pm
por Armando0908
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines