Ir al contenido principal

BAT para eliminar archivos por extensión y comprimir con WINRAR

Hola buen día amigos programadores, espero estén pasando un muy buen día y se encuentren bien, siempre el tener la mente en tranquila ayuda a programar mejor o a buscar ideas al momento de desarrollar software. 

Archivos LOG

Como me pasó a mi esta semana, ya que no sabía acerca de que escribir, tengo algunas ideas pero son para futuros post, pero justo para hoy no sabia que escribir y después de una caminata con mis perros decide escribir sobre como poder hacer un programa .BAT o Shell de MS-DOS para depurar o eliminar archivos log, los archivos con extensión .LOG son archivos que contienen información de los pasos, errores, entradas o salidas de ejecución de procesos o programas. Encontré 2 respuestas de porque .log??
  1. "Llevan este nombre porque es como la contracción de SYSLOG que es el registro de la computadora que separa los mensajes de software." https://www.reviversoft.com/es/file-extensions/log
  2. "El uso de este anglicismo es debido a las traducciones del inglés de la jerga informática. En inglés el término log designa la bitácora en la cual el comandante de un navío consigna los acontecimientos que sobrevienen durante la travesía. Una versión dice que origen es la corredera (log en inglés)" https://es.wikipedia.org/wiki/Log_(inform%C3%A1tica)


En cada proyecto de software se define que enviar a estos archivos log y cada cuando generarlos, hay procesos que crean un archivo diario, hay otros que cada vez que se ejecuta alguna acción en algún programa y estos archivos por lo regular no pesan mucho pero si pueden ser muchos archivos que nos consumen espacio en disco duro, por lo que es bueno plantear rutinas de depuración de estos archivos.


Todos en nuestra computadora tenemos archivos .LOG, si buscan en Windows por ejemplo verán que tienen algunos archivos y para poderlos leer se abren con un bloc de notas.



En lo personal  creo que estos archivos son de mucha utilidad por ejemplo:

  • Rastrear un problema cuando deja de funcionar un proceso
  • Para saber si se ejecuto completo un reporte 
  • Poder hacer un análisis en mejora del desarrollo de software para evitar errores incensarios o agregar más validaciones
  • Definir si es mejor ejecutar ciertos procesos en determinado horario para evitar saturación de RAM
  • Revisar si es mejor generar logs mas cortos o con menos frecuencia

Objetivo del ejemplo


Realizar un archivo .BAT que lea un archivo con las rutas de carpetas a depurar y busque todos los archivos .LOG y haga un archivo .RAR con ellos y los elimine

Código

@ECHO OFF
set Mes=%Date:~3,2%
echo %Mth%
set Day=%Date:~0,2%
echo %Day%
set Yr=%Date:~6,4%
FOR /F "delims=/n" %%A IN (C:\Rutas2.txt) DO (
@ECHO Ruta a depurar: %%A
set filezip="C:\Users\Ana Zamora\Documents\2019\personal\Programacion\Depurarlogs\"%Yr%%Mes%%day%".rar"
@ECHO Archivo compreso: %filezip%
cd C:\Program Files\WinRAR
rar a -u -df %filezip%  %%A\*.log 
cd C:\Users\Ana Zamora\Documents\2019\personal\Programacion\Depurarlogs
)

Parámetros de comando RAR:

-a es para crear un archivo nuevo
-u para actualizar o agregar archivos a un .rar ya existente
-df es el parámetro para eliminar los archivos

Otro tema importante es que para ejecutar el comando rar, deben irse a la carpeta donde esta instalado el programa

Ejecución

Archivo de Rutas.txt



Ruta con Logs


Ejecución de BAT


Archivo RAR


Si quisieran pueden crear una tarea programa que ejecute el .BAT para que sea una rutina mensual. 

Existen varias herramientas en el mercado para monitoreo de servidores y entre sus tareas esta la revisión de LOG's por ejemplo:



Dejen sus comentarios de los archivos LOG. Saludos y nos leemos la próxima semana, donde contaremos con nuestr@ segund@ invitad@.

Otra publicación de un batch

No olvide compartirnos y seguirnos en este blog o en Facebook.

Comentarios

  1. buen dia.

    Quisiera de su apoyo para crear un archivo bat en donde pueda mover ciertos archivos con cierta terminacion en su nombre y que se mueva a dicha carpeta, ejemplo:

    Nombre archivo 1= Ventas_ZTA, que su terminacion _ZTA se movera a la carpeta ZTA
    Nombre archivo 2 = Ventas_ERP que su terminacion _ERP se movera a la carpeta ERP.

    y todos estos archivos estarian en una sola carpeta y con el bat las enviaria a su carpeta correspondiente.

    quedo al pendiente de su comentario.

    saludos.

    ResponderBorrar
  2. Hola puedes hacerlo
    set "origen=c:\folderorigen\"
    set "destinoZTa=c:\folderorigen\zta\"
    set "destinoerp=c:\folderorigen\erp\"
    Move /y %origen%*ZTA.* %destinoZTa%
    Move /y %origen%*ERP.* %destinoerp%

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Macro de Excel para abrir archivo csv

Hay veces que quieres abrir un archivo de Excel pero está separado por comas, punto y coma o por un pipe. Hay formas de hacerlos desde Excel. Les quiero compartir algunas opciones de como hacerlo y espero que les sean de utilidad. 1.Es abrir el archivo en Excel y utilizar la función de separar por columnas y seleccionar el delimitador, por ejemplo ";" 2. Es colocar "sep=;" en el primer renglón del archivo que quieres abrir y guardar en formato CSV y abrirlo en Excel y te lo abrirá separado en columnas. 3. Otra forma es con una macro, esté en mi gusto es la que más me funciona porque si hay alguna coma en la descripción o en alguna columna, si lo abres desde Excel te va a desacomodar las columnas.  Este botón te abrirá un pantalla para abrir el archivo que quieres separar y te lo abrirá en una hoja de excel ya separado. El código de la macro es el siguiente  Private Sub CommandButton1_Click() Dim sht As Worksheet Dim fnd As Variant Dim rplc As Variant Dim