Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Creado el Dom 09 Mar 2025 22:13:18
- Autor: @JP
- """
- import ctypes
- import sys
- import shutil
- import os
- def es_admin():
- """Verifica si el script se está ejecutando como Administrador."""
- try:
- return ctypes.windll.shell32.IsUserAnAdmin()
- except OSError: # Captura excepciones específicas
- return False
- def ejecutar_como_admin():
- """Ejecuta el script con permisos de Administrador."""
- ctypes.windll.shell32.ShellExecuteW(
- None, "runas", sys.executable, " ".join(sys.argv), None, 1)
- def hacer_copia_de_seguridad(carpeta_original, carpeta_backup):
- """Crea una copia de seguridad de una carpeta en otra ubicación.
- Si la carpeta de backup ya existe, la sobrescribe.
- :param carpeta_original: Ruta de la carpeta original.
- :param carpeta_backup: Ruta de la carpeta de backup.
- """
- try:
- # Verificar si la carpeta de backup ya existe
- if os.path.exists(carpeta_backup):
- print(
- "La carpeta de backup ya existe. "
- f"Eliminando: {carpeta_backup}")
- shutil.rmtree(carpeta_backup) # Eliminar la carpeta de backup
- # Copiar la carpeta original a la carpeta de backup
- shutil.copytree(carpeta_original, carpeta_backup)
- print(f"Copia de seguridad creada en: {carpeta_backup}")
- except (OSError, shutil.Error) as e: # Captura excepciones específicas
- print(f"Error al crear la copia de seguridad: {e}")
- if __name__ == "__main__":
- if not es_admin():
- print("El script no se está ejecutando como Administrador."
- " Solicitando permisos...")
- ejecutar_como_admin()
- else:
- print("El script se está ejecutando como Administrador.")
- # Definir rutas
- # Cambia esto por la ruta de tu carpeta
- CARPETA_ORIGINAL = "C:/ruta/a la/carpeta"
- # Cambia esto por la ruta de backup
- CARPETA_BACKUP = "C:/ruta/a la/carpeta_backup"
- # Crear la copia de seguridad
- hacer_copia_de_seguridad(CARPETA_ORIGINAL, CARPETA_BACKUP)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement