INTRODUCCION
El presente proyecto consiste en el desarrollo de un script automatizado en formato Batch (.bat) cuyo
propósito principal es realizar un respaldo rápido y eficiente de los documentos de una computadora.
Este programa está diseñado para localizar, recopilar y comprimir archivos de tipo .pdf, .doc y .docx,
ubicados en el sistema, con el fin de crear una copia de seguridad completa y ordenada.
El script se ejecutará directamente desde una unidad USB, lo que permite su uso en distintas
computadoras sin necesidad de instalación previa. Una vez finalizada la búsqueda y recopilación, los
archivos serán almacenados temporalmente en una carpeta generada automáticamente, la cual se
comprimirá en un solo archivo ZIP que también se guardará dentro de la misma memoria USB.
De esta manera, el programa facilita la protección de información importante, optimizando el tiempo de
respaldo y reduciendo el riesgo de pérdida de datos. Además, al estar basado en un lenguaje de
comandos nativo de Windows, garantiza compatibilidad, ligereza y portabilidad, sin requerir
herramientas externas o privilegios administrativos avanzados.
@echo off
:: Oculta los comandos para que no se muestren en pantalla
setlocal enableextensions
:: Activa opciones avanzadas del lenguaje de comandos (por seguridad y compatibilidad)
:: Carpeta donde está este script
set "BASEFOLDER=%~dp0"
:: Guarda la ruta exacta del lugar donde está el archivo .bat (por ejemplo: escritorio o USB)
:: Carpeta de salida (junto al .bat)
set "DESTFOLDER=%BASEFOLDER%carpetita"
:: Crea la ruta donde se guardará la carpeta "carpetita" junto al .bat
set "ZIPDEST=%DESTFOLDER%\Todos_los_documentos.zip"
:: Define el nombre y la ruta donde se guardará el archivo ZIP
:: Carpeta temporal
set "TEMPFOLDER=%TEMP%\DocsTemp"
:: Usa la carpeta temporal de Windows para guardar los archivos antes de comprimirlos
:: Crear carpetas necesarias
if exist "%TEMPFOLDER%" rd /s /q "%TEMPFOLDER%" >nul 2>&1
:: Si la carpeta temporal ya existe, la borra completamente (para limpiar antes de empezar)
mkdir "%TEMPFOLDER%" >nul 2>&1
:: Crea la carpeta temporal vacía donde se copiarán los documentos
if not exist "%DESTFOLDER%" mkdir "%DESTFOLDER%" >nul 2>&1
:: Crea la carpeta "carpetita" junto al .bat si no existe
:: Copiar todos los PDFs y DOC/DOCXs desde C:, excluyendo la carpeta temporal
for %%f in (pdf doc docx) do (
:: Recorre las extensiones que se quieren buscar (pdf, doc y docx)
for /R "C:\" %%a in (*.%%f) do (
:: Busca todos los archivos de esa extensión dentro del disco C:\ (de forma recursiva)
echo "%%a" | find /I "%TEMPFOLDER%" >nul
:: Revisa si el archivo encontrado pertenece a la carpeta temporal (para no copiarlo dos
veces)
if errorlevel 1 (
:: Si no está en la carpeta temporal, lo copia a la carpeta temporal
xcopy "%%a" "%TEMPFOLDER%" /s /i /y >nul 2>&1
:: /s copia también las subcarpetas
:: /i asume que el destino es una carpeta
:: /y evita que pregunte si se sobrescriben archivos
:: >nul 2>&1 oculta todos los mensajes
)
)
)
:: Comprimir la carpeta temporal en la carpeta "carpetita" junto al .bat
powershell -NoLogo -NoProfile -WindowStyle Hidden -Command ^
"Compress-Archive -Path '%TEMPFOLDER%\*' -DestinationPath '%ZIPDEST%' -Force" >nul
2>&1
:: Usa PowerShell para comprimir todos los archivos dentro de la carpeta temporal
:: Guarda el ZIP dentro de la carpeta "carpetita"
:: -NoLogo y -NoProfile evitan mostrar mensajes o perfiles de PowerShell
:: -WindowStyle Hidden lo ejecuta sin ventana visible
:: -Force reemplaza el archivo ZIP si ya existe
:: >nul 2>&1 oculta cualquier salida o error
:: Limpiar carpeta temporal
rd /s /q "%TEMPFOLDER%" >nul 2>&1
:: Borra la carpeta temporal después de comprimir, para no dejar basura
endlocal
:: Finaliza el bloque de variables locales (libera las variables del script)
exit
:: Cierra el script completamente
CONCLUSION
El desarrollo de este script en formato .bat logró cumplir de manera exitosa el objetivo de automatizar
el respaldo de documentos importantes dentro de una computadora. El programa realiza la búsqueda
completa de archivos .pdf, .doc y .docx, los recopila temporalmente, y finalmente los comprime en un
solo archivo ZIP almacenado directamente en la memoria USB donde se ejecuta el script.
Gracias a su estructura modular y al uso de herramientas nativas de Windows como PowerShell, el
proceso se ejecuta de forma silenciosa, rápida y sin necesidad de programas externos. Además, la
implementación de carpetas temporales y validaciones previas asegura que el respaldo se realice sin
duplicados ni residuos innecesarios.
Este proyecto demuestra que, con un correcto uso del lenguaje por lotes, es posible crear soluciones
eficientes, portátiles y seguras para la gestión de datos. En conjunto, el script representa una
herramienta práctica para proteger información personal o laboral, destacando por su simplicidad,
compatibilidad y utilidad real en entornos de respaldo y mantenimiento informático