Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создание резервной копии по размеру файла (http://forum.oszone.net/showthread.php?t=319004)

Атриарх 21-09-2016 13:51 2670812

Создание резервной копии по размеру файла
 
Не считает размер файла
Код:

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 2670845

без 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 2670883

Итоговый рабочий вариант
Скрытый текст
Код:

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



Время: 22:19.

Время: 22:19.
© OSzone.net 2001-