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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / [Batch][Tutorial] Crear respaldos de lote de archivos. en: 4 Septiembre 2019, 18:38 pm
Estimados,

Gracias por el manual que tienen de Batch, a cambio del valioso instructivo que proporcionan, dejo aquí lo que cree.

A grandes rasgos esto realiza una copia de seguridad de archivos que están dentro de una carpeta y que comienzan con un nombre en particular, la fecha de los archivos debe venir en el nombre del archivo que se revisan.
Se crearan dos carpetas donde se colocarán los archivos, Carga y Respaldos. La carpeta Carga servirá para que otro proceso tome solo ese archivo para su procesamiento.

Cualquier duda les responderé.

Saludos.

Código
  1. rem echo ################
  2. rem echo # Creado Por   #
  3. rem echo # Alexis Reyes #
  4. rem echo # s00a-areyes  #
  5. rem echo ################
  6.  
  7. rem Archivos a revisar:
  8. rem archivo_20190401.txt
  9. rem archivo_20190403.txt
  10. rem archivo_20190408.txt
  11. rem archivo_20190420.txt
  12.  
  13. rem Despues de ejecutar el batch se crea la siguiente estructura de archivos y carpetas:
  14.  
  15. rem CARGA
  16. rem - NOMBRE_NUEVO.TXT
  17. rem RESPALDOS
  18. rem - 01-04-2019
  19. rem - NOMBRE_NUEVO.TXT
  20. rem - 03-04-2019
  21. rem - NOMBRE_NUEVO.TXT
  22. rem - 08-04-2019
  23. rem - NOMBRE_NUEVO.TXT
  24. rem - 20-04-2019
  25. rem - NOMBRE_NUEVO.TXT
  26.  
  27. rem Se debe considerar los siguientes parametros:
  28. rem carpetaCarga: Es la ruta donde se colocará el archivo mas actual, que luego otro proceso tomará.
  29. rem carpetaRespaldo: Es la carpeta donde se crearan las carpetas por día.
  30. rem nombreArchivo: Es el nombre que tendrán todos los archivos que se revisarán luego del proceso de normalizacion de nombres.
  31. rem subCadenaInicio: Es la cadena que se revisará en los nombres de archivos que se quieran revisar. Ej: Archivo_20190401.txt -> Archivo_
  32. rem vNumero: Es el numero de fecha extraida del nombre que son buscados Ej: Archivo_20190401.txt -> 20190401
  33. @echo off
  34. set dirActual=%cd%
  35. rem echo %dirActual%
  36. SET subCadenaInicio=Archivo_
  37. rem Establecer el nombre de la carpeta en donde estará la última carga
  38. SET carpetaCarga=CARGA
  39. rem Establecer el nombre de la carpeta en donde estarán los respaldos de los archivos
  40. SET carpetaRespaldo=RESPALDOS
  41. rem Establecer el nombre de salida que tendrán todos los archivos
  42. SET nombreArchivo=NOMBRE_NUEVO.TXT
  43. rem Establecer variable del día más actual
  44. SET vDiaMasActual=0
  45. rem Etiqueta en donde se iniciará el programa
  46. GOTO:INICIO
  47. rem Funcion que verifica que si una carpeta existe, sino la crea.
  48. rem Recibe 2 parametros: La carpeta que se quiere saber si existe y el nombre de la etiqueta de dónde irá el código luego de terminar la funcion.
  49. :ExistenciaCarpeta
  50. IF exist %1 (
  51. rem echo %1 exists
  52. ) ELSE (
  53. mkdir %1
  54. rem echo %1 created
  55. )
  56. GOTO:%2
  57. rem Funcion que verifica que si una archivo existe, sino lo crea vacio. Luego realiza una copia.
  58. rem Recibe 3 parametros: El archivo, el archivo que se quiere copiar  y dónde irá el código luego de terminar la funcion.
  59. :ExistenciaArchivo
  60. IF exist %1 (
  61. del /f/s/q %1
  62. ) ELSE (
  63. echo "" > %1
  64. )
  65. COPY %2 %1
  66. GOTO:%3
  67. rem Inicio del programa
  68. :INICIO
  69. Call:ExistenciaCarpeta %carpetaRespaldo% %carpetaRespaldo%
  70. :RESPALDOS
  71. Call:ExistenciaCarpeta %carpetaCarga% %carpetaCarga%
  72. :CARGA
  73. rem Inicia el ciclo para revisar los archivos que se quieren revisar
  74. goto:ciclo
  75. :cont
  76. rem echo %1
  77. SET linea=%1
  78. SET vNumero=%linea:~4,8%
  79. SET vCarpetaNueva=RESPALDOS\%linea:~10,2%-%linea:~8,2%-%linea:~4,4%
  80. rem ECHO Nombre Fecha: %vCarpetaNueva%
  81. rem ECHO %vNumero% %vDiaMasActual%
  82. Call:ExistenciaCarpeta %vCarpetaNueva% CarpetaNueva
  83. :CarpetaNueva
  84. rem Se verifica que la fecha del archivo que se está revisando es mayor al dia que se ha guardado como más actual, si es así se reemplaza el valor.
  85. IF %vNumero% GTR %vDiaMasActual% (
  86. SET vDiaMasActual=%vNumero%
  87. Call:ExistenciaArchivo %carpetaCarga%\%nombreArchivo% %linea% ArchivoLinea1
  88. )
  89. :ArchivoLinea1
  90. Call:ExistenciaArchivo %vCarpetaNueva%\%nombreArchivo% %linea% ArchivoLinea2
  91. :ArchivoLinea2
  92. del /f/s/q %linea%
  93. rem ECHO DIA MAS ACTUAL: %vDiaMasActual%
  94. rem Se revisan todos los archivos que se encuentran dentro de la carpeta que se ejecuta el batch y que comienzan con la subCadenaInicio
  95. :ciclo
  96. FOR %%x in (%subCadenaInicio%*) DO (
  97. call :cont %%x
  98. )
  99.  
2  Programación / Programación General / Re: Creando un Videojuego <Curso> en: 13 Agosto 2008, 22:54 pm
Hola Isirius, he estado investigando por todas partes, y he encontrado algunos topics tuyos en los que das a conocer manuales sobre la creacion de juegos de video...
el tema es el siguiente, necesito saber si el curso que posteaste http://foro.elhacker.net/programacion_general/creando_un_videojuego_curso-t168243.0.html tiene para programar por ejemplo que algo se mueva automaticamente, es decir, quiero saber si ese tutorial es expandible a poder modificar muchos aspectos del juego y no tenga limitaciones...

te cuento, la tarea mia es crear un piloto automatico que tenga tres variables, altura, velocidad y que llege a algun destino... todo esto con redes neuronales y/o logica difusa, es por un taller de inteligencia artificial... para ahorrarme el hacer el aspecto grafico en lenguajes de programacion, estoy apostando por hacer la tarea pero mediante la creacion de un mini juego... el cual permita hacer lo que me piden y de forma atractiva ... ese es el tema... y te pregunto.. es viable hacer eso con ese tutorial?? o me recomiendas hacer otra cosa.. y lo otro.. no tengo cuenta premium de rapidshare, y quisiera ver la posibilidad de acceder a esos tutoriales que tienes pero en un solo archivo.. me serviria y me serian de gran utilidad.. sin mas... y esperando deseoso tu respuesta... nos vemos!!

mi mail y msn es @gmail.com
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines