Saludos a todos.
Estuve probando el script y tomando en cuenta que soy muy nob, tal vez entendí mal, por lo que expongo lo que entendí: el code primero hace una copia de perfiles en archivos 7z al directorio backups y genera un listado en txt de los archivos respaldados en el 7z, esto si es el primer backup, si los archivos 7z ya existen, entonces crea otro listado indicando cuales archivos han sido modificados y agregados a otro archivo 7z sin borrar el existente, y en el listado agrega los archivos modificados en orden alfabético.
Pero cuando yo hago esto (sin haber hecho un backup previo) solo me genera los archivos txt pero no los 7z, y si lo ejecuto por segunda vez me agrega las líneas a los archivos txt pero sigue sin generar el 7z.
nota: el 7z.exe lo copie a la ruta correcta y las carpetas las cree en las rutas descritas en las variables.
Entonces que estoy haciendo mal.
Title Server Backup By Elektro H
@cker
Set "BACKUPS=C:\Users\Administrador\Desktop\Backups"
Set "PERFILES=C:\Users\Administrador\Desktop\Perfiles"
Set "SevenZip=
%WINDIR%\System32\7z.exe"
)
:First_Backup
Echo: [+] Comprimiendo el perfil de
%1 | MORE
"
%SevenZip%" u -mx=9 -ms=off -t7z "
%BACKUPS%\
%~1.1.7z" "
%PERFILES%\
%~1"
>NULFOR /R
%%@ in (*
) Do (FOR /F "tokens=1-4,* delims=/ "
%%A in ('
Echo %%~t
@'
) do (Echo %%C/
%%B/
%%A [
%%D]
(1
^) ^| %%~nx
@ >> "
%BACKUPS%\
%%#.txt"
))
:Next_Backup
For /F "tokens=2 delims=."
%%_
in ('
Dir /B "
%BACKUPS%\
%~1*7z"'
) do (Set /A "LastNum=
%%_", "Lastnum+=1"
) FOR /F "tokens=1-5,* delims=/: "
%%A in ('
Echo %%~t
@;
%%@'
) do ( Find /I "
%%~nxF" "
%BACKUPS%\
%~1.txt"
>NUL && ( For /F "Tokens=1-4,* Delims=
()[] "
%%a in ('Type "
%BACKUPS%\
%~1.txt"
^| Find /I "
%%~nxF"'
) do ( IF "
%%C%%B%%A%%D%%E"
GTR "
!DATE:/=!!Hour::=!"
( Type "%BACKUPS%\%~1.txt" | FIND /I /V "%%~nxF" > "%TEMP%\%%#.txt"
Echo %%C/
%%B/
%%A [
%%D:
%%E]
(!LastNum!^) ^| %%~nx
@ >> "
%TEMP%\
%%#.txt"
Move /Y "
%TEMP%\
%%#.txt" "
%Backups%\
%~1.txt"
>NUL )
)
) || (Echo %%C/
%%B/
%%A [
%%D:
%%E]
(!LastNum!^) ^| %%~nxF
>> "
%Backups%\
%~1.txt"
) )
)
Echo: [+] Comprimiendo el perfil de
%1 | MORE
"
%SevenZip%" u -mx=9 -ms=off -t7z "
%BACKUPS%\
%~1.
%Lastnum%.7z" "
%PERFILES%\
%~1"
>NULSORT /+25 "%BACKUPS%\%~1.txt" > "%TEMP%\%~1.txt"
Move /Y "
%TEMP%\
%~1.txt" "
%BACKUPS%\
%~1.txt"
>NUL
:FIN
Echo: Ha finalizado la creacion de copias de seguridad.
| MORE