Bat para crear copias de carpetas de usuario en unidad de red.

Tengo un bat el cual me hace copia de las carpetas del usuario actual en uso en una unidad determinada del mismo equipo, pero el problema es que el bat me lo guarda con la carpeta Backup por ejemplo en una unidad F: seria bueno poder adaptarla que haga la copia con el nombre del usuario actual hacia un equipo en red con alguna unidad de almacenamiento compartida tengo un archivo base el cual me funciona perfectamente pero no logro complementarlo ya sea por falta de conocimiento en el lenguaje correcto. Muchas gracias

@echo off
Color B0
Title COPIA DE SEGURIDAD
echo =========================================
echo = COOPERATIVA =
echo = Copia de Seguridad =
echo = TIC- SISTEMAS =
echo =========================================
date /t
time /t
Echo Este archivo realizara una copia de la informacion alojada en Escritorio, Documentos, Descargas e
Echo imagenes dentro de una carpeta llamada BACKUP en la unidad predeterminada de respaldo.
pause
set drive=f:\BACKUP
set backupcmd=XCOPY /D /E /F /I /C /Y

echo Haciendo un respaldo del Escritorio...
%backupcmd% "%USERPROFILE%\Desktop" "%drive%\Escritorio"

echo Haciendo un respaldo de mis Documentos...
%backupcmd% "%USERPROFILE%\Documents" "%drive%\Documentos"

echo Haciendo un respaldo de Descargas...
%backupcmd% "%USERPROFILE%\Downloads" "%drive%\Descargas"

echo Haciendo un respaldo de Imagenes...
%backupcmd% "%USERPROFILE%\Pictures" "%drive%\Imagenes"

echo Haciendo un respaldo del Registro...
echo Espere...
if not exist "%drive%\Registro" mkdir "%drive%\Registro"
if exist "%drive%\Registro\regbackup.reg" del "%drive%\Registro\regbackup.reg"
regedit /e "%drive%\Registro\regbackup.reg"

Echo -------RESPALDO COMPLETADO-------
Pause

Respuesta
1

Me parece que tu bat debe funcionar perfectamente para hacer un respaldo de determinadas carpetas del usuario (Desktop, Downloads, Documents y Pictures) con el que se ejecute, así como del registro correspondiente, en la ubicación indicada en la variable DRIVE.

Creo que lo que quieres es que la carpeta de destino del respaldo incorpore el nombre del usuario. Si solo fuera eso tendrías que cambiar la línea

set drive=f:\BACKUP

por estas otras

set drive=f:\%USERNAME%\BACKUP
if not exist "%drive%" mkdir "%drive%"

Pero intuyo que se me está escapando algo. Ya me dirás

Al revisar la pregunta y mi respuesta he visto que no he atendido a la petición de que el destino del backup estuviera en una unidad de red.

Creo que esto podría hacerse así:

net use z: \\<equipo>\<carpeta compartida> /persistent:no
set drive=z:\%USERNAME%\BACKUP
if not exist "%drive%" mkdir "%drive%"

<equipo> sería el nombre del equipo (o la IP) que comparte la carpeta de destino y <carpeta compartida> el nombre con el que se comparte la  carpeta

¡Gracias! Maestro por la aclaración es posible a este bat agregarle un log .txt el cual almacene en dicha carpeta del usuario la fecha del backup muchísimas gracias por su ayuda Maestro.

Si quieres que se registren en un log las fechas de los backup solo tienes que incluir el comando:

echo %time% >> %drive%\log.txt

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas