Robocopy estuvo muy cerca, pero le falta cambiar el nombre del archivo en la copia. Entonces, ¿podrían las personas indicarme un idioma o sistema en Windows que se adapte bien a lo siguiente?
Este pretende ser un plan de respaldo simple y básico para una red doméstica con algunas computadoras portátiles y PC Win8/10 y una unidad de red central (una unidad USB externa conectada al puerto USB del enrutador). Casi todos los archivos de los que se va a realizar una copia de seguridad son imágenes, vídeos o música, por lo que ya están comprimidos, por lo que no tiene sentido utilizar un software de copia de seguridad comercial con compresión. Además, no quiero que mis archivos se encapsulen en un formato de archivo de copia de seguridad propietario. Sólo necesito copias.
Me estoy imaginando un archivo por lotes de shell de comandos, o VBScript, o.....
El sistema ideal me permitiría programar copias de seguridad programadas de carpetas seleccionadas (incluidas todas sus subcarpetas) en las computadoras en sus respectivas carpetas en la unidad de red. Después de una copia de seguridad completa inicial de cada uno, el sistema realizaría copias de seguridad incrementales. Estas copias de seguridad incrementales en realidad consistirían simplemente en hacer una copia de cualquier archivo nuevo y hacer una nueva copia con un nombre de archivo indexado de cualquier archivo que haya cambiado desde la última copia de seguridad. Eso es todo.
Como dije, Robocopy en un archivo por lotes estuvo cerca, pero no puede cambiar el nombre de los archivos. No quiero crear carpetas nuevas con nombres indexados; quiero que los archivos renombrados estén todos juntos en las carpetas originales.
Podría pasar meses investigando y aprendiendo todos los comandos y sistemas posibles de Windows que existen con la esperanza de encontrar algo que haga esto. Ya pasé días investigando software de respaldo y Robocopy. Así que esperaba que esta placa pudiera indicarme la dirección correcta de algo que tuviera los comandos y funciones necesarios para hacerlo.
Gracias.
Respuesta1
Después de una copia de seguridad completa inicial de cada
Esta parece una situación ideal para la robocopia; Parece que te estás obsesionando con esto:
... las copias de seguridad incrementales en realidad consistirían simplemente en hacer una copia de cualquier archivo nuevo y hacer una nueva copia con un nombre de archivo indexado de cualquier archivo que haya cambiado desde la última copia de seguridad.
Para manejar esa situación, usaría FC
un bucle para comparar un archivo si existe en la copia de seguridad completa y, si es así, individualmente copy
e incluiría su nombre modificado.
Entonces, para configurar esto, determinaría:
- con qué frecuencia desea realizar su copia de seguridad completa y si debe borrar o no el contenido que ya no existe en la carpeta de origen y
- con qué frecuencia desea realizar sus copias de seguridad incrementales, si no es manualmente.
En ambos casos, probablemente configuraría una tarea programada en Windows para ejecutar el archivo por lotes necesario. La complejidad de cualquiera de los scripts estará determinada por la estructura de su directorio, pero en su mayor parte así es como se vería su lógica de respaldo incremental:
@echo off
set "dir=C:\Your\Directory"
set "bkp=N:\Your\Backup\Drive"
for %%A in (%dir%\*) do (
if exist "%bkp%\%%~nxA" (
fc "%%A" "%bkp%\%%~nxA"
if %ERRORLEVEL% EQU 1 (copy /y "%%A" "%bkp%\%%~nA MODIFIED%%~xA")
)
)
)
Puede usar extensiones de parámetros y diferentes for
opciones para personalizar el bucle según cómo estén configurados sus directorios. Si no desea eliminar nada a través de robocopy, simplemente use robocopy "source" "destination" /e
, también puede realizar un bucle con robocopy for
para hacer carpetas individuales a la vez en lugar de su directorio raíz; de esa manera, puede generar un archivo de registro para cada uno si Buscamos tener una visibilidad más granular.
Referencia:robocopia,FC,para,Copiar,parámetros