[optencionVersionesPLCs](file:///D:%5CProyectos%5CScripts%5CoptencionVersionesPLCs) `obtencionVersionsPLC.py` Python para windows #### Función: *** El script está diseñado para buscar de forma recursiva archivos específicos dentro de un directorio raíz y sus subdirectorios. Los archivos de interés tienen las extensiones `.ap16` o `.zap16`. Este script extrae ciertos detalles de estos archivos, los organiza y guarda en un formato estructurado. #### Detalles específicos que maneja el script: 1. **Búsqueda de Archivos**: El script explora recursivamente el directorio especificado y todos sus subdirectorios para encontrar archivos que terminan en `.ap16` o `.zap16`. 2. **Extracción de Detalles**: - **Ruta Relativa**: Calcula la ruta relativa de cada archivo respecto al directorio raíz especificado. Si el nombre del último directorio es igual al nombre del archivo sin su extensión, este directorio no se incluye en la ruta relativa mostrada. - **Nombre de Archivo**: Obtiene el nombre del archivo sin su extensión. Si el nombre contiene una secuencia específica de caracteres que forma el patrón `_XXXXXXXX_XXX` (donde `X` son dígitos), esta parte se elimina del nombre. - **Versión**: Extrae la versión del archivo, que se define como los caracteres que siguen al último `_` en el nombre del archivo (después de eliminar la porción específica mencionada anteriormente). 3. **Generación de Salida en Markdown**: - El script crea un documento de texto en formato markdown que estructura la información de cada archivo en una jerarquía de listas que reflejan la estructura de directorios del sistema de archivos. - Cada carpeta y subcarpeta se menciona una sola vez seguida de los archivos contenidos dentro de estas, mostrando el nombre del archivo (ajustado) y su versión en sub-ítems separados. - Las entradas dentro de cada carpeta están ordenadas alfabéticamente. 4. **Archivo de Salida**: - Los resultados se guardan en un archivo de texto (`output.txt`), que utiliza la estructura detallada en markdown para presentar la información de manera clara y estructurada. #### Ejemplo de Estructura de Salida en Markdown: * TLO25 * 93064_PLC_HMI_REG_TL25_Q1_20 * Version: 20 * 93064_PLC_HMI_REG_TL25_Q2_20 * Version: 20 * TLO26 * 93061_PLC_HMI_REG_TL26_Q1_20 * Version: 20 * 93061_PLC_HMI_REG_TL26_Q2_20 Este formato ayuda a visualizar la organización del sistema de archivos de manera jerárquica y clara, permitiendo una rápida identificación de la ubicación y versión de cada archivo. ### Alcance: Este script es útil para la gestión de archivos en proyectos donde se necesita llevar un registro de versiones y organización de archivos específicos. Es ideal para administradores de sistemas, desarrolladores y cualquier profesional que trabaje con una gran cantidad de archivos y requiera una forma automatizada de mantener un registro estructurado de los mismos.