Войти

Показать полную графическую версию : [решено] Создание резервной копии по размеру файла


Атриарх
21-09-2016, 13:51
Не считает размер файла

for /f %%i in ("%sourc%\Bookmarks.") do set file1=%%~zi
echo %file1%


Причем вторая аналогичная строчка отрабатывает

for /f %%i in ("%bak%\Bookmarks.") do set file2=%%~zi
echo %file2%

Весь скрипт


@echo off
SetLocal
rem расположение файла закладок хрома
set sourc=%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\
rem расположение для резервных копий
set bak=%UserProfile%\ChromBacup\

if not exist "%bak%" md "%bak%"

rem проверка наличия бекапа закладок
:sw
if not exist "%bak%\Bookmarks" goto SUB1
goto SUB2

:SUB1
cd %sourc% & copy /y "Bookmarks" "%bak%"
rem первая копия создана
pause
goto sw

:SUB2
for /f %%i in ("%sourc%\Bookmarks.") do set file1=%%~zi
echo %file1%
for /f %%i in ("%bak%\Bookmarks.") do set file2=%%~zi
echo %file2%
if "%file1%" LSS "%file2%" goto :rest echo востанавливаем файл из бекапа
if "%file1%" GTR "%file2%" goto :SUB1 echo копируем файл в бекап
pause
exit

:rest
cd %bak% & copy /y "Bookmarks" "%sourc%"
rem файл востановлен
pause
exit

Атриарх
21-09-2016, 14:33
без goto
::@echo off
SetLocal enabledelayedexpansion
rem расположение файла закладок хрома
set sourc=%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\
rem расположение для резервных копий
set bak=%UserProfile%\ChromBacup\
rem создаем расположение для резервных копий
if not exist "%bak%" md "%bak%"
rem проверка наличия бекапа закладок
if not exist "%bak%\Bookmarks" (
cd %sourc% & copy /y "Bookmarks" "%bak%"
)
for /f %%f in ("%sourc%\Bookmarks.") do set file1=%%~zf
echo %file1%
for /f %%i in ("%bak%\Bookmarks.") do set file2=%%~zi
echo %file2%
if "%file1%" LSS "%file2%"
pause
rem востанавливаем файл из бекапа
cd %bak% & copy /y "Bookmarks" "%sourc%
rem файл востановлен
pause
) else (
if "%file1%" GTR "%file2%"
cd %sourc% & copy /y "Bookmarks" "%bak%" )
pause
exit
cmd /q

Атриарх
21-09-2016, 16:42
Итоговый рабочий вариант

echo off
SetLocal
set sourc=%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\
set bak=%UserProfile%\ChromBacup\
if not exist "%bak%" md "%bak%"
if not exist "%sourc%Bookmarks" goto :sub3
if not exist "%bak%Bookmarks" cd %sourc%
copy /y "Bookmarks" "%bak%Bookmarks"
if exist "%bak%Bookmarks" cd %sourc%
copy /y "Bookmarks" "%bak%Bookmarks2"
for /f %%i in ("%bak%Bookmarks") do set arh=%%~zi
for /f %%i in ("%bak%Bookmarks2") do set file=%%~zi
if "%arh%" GTR "%file%" goto sub1
if "%arh%" LSS "%file%" goto sub2
if "%arh%" == "%file%" goto sub3
:sub1
cd %bak% && copy /y "Bookmarks2" "%bak%Bookmarks"
DEL "%bak%Bookmarks2"
exit
:sub2
cd %bak% && copy /y "Bookmarks" "%sourc%Bookmarks"
DEL "%bak%Bookmarks2"
exit
:sub3
cd %bak% && copy /y "Bookmarks" "%sourc%Bookmarks"
DEL "%bak%Bookmarks2"
exit




© OSzone.net 2001-2012