![]() |
Резервирование файлов с сравнением по дате создания
Задача копировать файл закладок хрома, если файл обновился, если резервная копия новее то копия ложиться в профиль хрома.
Только скрипт не отрабатывает не могу понять в чем ошибка. P.S. Скрипт компиляция сходных скриптов переработанная под свою задачу. Скрытый текст
::@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 "%bak%\Bookmarks" goto bak1 if exist "%bak%\Bookmarks" goto bak2 :bak1 cd %sourc% copy /y "Bookmarks" "%bak%" pause exit :bak2 cd "%sourc%" if exist "%bak%" for %%A in ("%sourc%") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%sourc%" "%bak%" else goto rest pause exit :rest cd "%bak%" if exist "%sourc%" for %%A in ("%bak%") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%bak%" "%sourc%" pause exit |
|
Цитата:
cd %sourc% copy /y "Bookmarks" "%bak%" pause возможно можно и так if not exist "%bak%\Bookmarks" goto bak1 else goto bak2 не лишние. без этой проверки скрипт будет выполнятся подряд и будет тупо перезаписывать файл бекапа, без проверки даты... if exist "%bak%\Bookmarks" » поправил логику переходов :) Скрытый текст
@echo off SetLocal ::расположение файла закладок хрома set sourc="%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\" ::расположение для резервных копий set bak="%UserProfile%\ChromBacup\" if not exist "%bak%" md "%bak%" ::проверка бекапа закладок :sw if not exist "%bak%\Bookmarks" goto bak1 if exist "%bak%\Bookmarks" goto bak2 :bak1 cd %sourc% copy /y "Bookmarks" "%bak%" goto sw exit :bak2 cd "%sourc%" if exist "%bak%" for %%A in ("%sourc%") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%sourc%" "%bak%" else goto rest exit :rest cd "%bak%" if exist "%sourc%" for %%A in ("%bak%") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%bak%" "%sourc%" exit |
Цитата:
Цитата:
|
Поправил
cd %sourc% & copy /y "Bookmarks" "%bak%" По логике одно и тоже Цитата:
Не работают :bak2 и :rest Попробую пойти обходным путем и сделаю проверку по размеру файла, тему пока не закрываю. Текущая версия файла Скрытый текст
@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%" pause rem проверка бекапа закладок :sw if not exist "%bak%\Bookmarks" goto bak1 if exist "%bak%\Bookmarks" goto bak2 :bak1 cd %sourc% copy /y "Bookmarks" "%bak%" rem первая копия создана pause goto sw :bak2 rem копирование начато if exist "%bak%\Bookmarks" for %%A in ("%sourc%\Bookmarks") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%sourc%" "%bak%" || goto rest rem копирование завершено pause exit :rest rem востановление начато if exist "%sourc%\Bookmarks" for %%A in ("%bak%\Bookmarks") do echo %%~tA |>nul find "%date%" || >nul copy /y "Bookmarks" "%bak%" "%sourc%" rem востановление завершено pause exit |
Цитата:
|
Время: 22:24. |
Время: 22:24.
© OSzone.net 2001-