yandoxip, приветствую.
Насколько я понял, таким образом.
Время в секундах и кол-во папок бэкапа можно задавать в параметрах, по умолчанию: 2 секунды и 3 папки.
Крутится бесконечный цикл, в котором после ожидания 2 секунд исходная папка копируется в папки бэкапа: 1, 2, 3, 1, 2, 3, ...
Ключ /O команды xcopy у меня не работает (нет прав администратора).
@echo off & title %~nx0 & SetLocal EnableExtensions EnableDelayedExpansion
goto :Main
rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Help
echo.Создание бэкапов каждые 2 с. в 3 папки.
echo.Вызов: %~nx0 [Время = 2с.] [Колво_папок = 3]
echo.
:PauseEnd
pause
:End
exit /b
rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Main
rem Папки: исходная и бэкап.
set "sFldWork=%USERPROFILE%\Documents\work"
set "sFldBackup=%USERPROFILE%\Documents\backup"
if "%~1"=="" (set /a nSec=2) else (set /a nSec="%~1")
if "%~2"=="" (set /a nFld=3) else (set /a nFld="%~2")
if !nSec! leq 0 goto :Help
if !nFld! leq 0 goto :Help
rem Бесконечный цикл, выход по Ctrl-C.
:Loop
rem Цикл перебора с 1 до nFld.
for /l %%i in (1,1,!nFld!) do (
rem Пауза в nSec с. (timeout доступна начиная с Windows Vista).
timeout !nSec! /nobreak >nul
echo."!sFldWork!\*.*" -^> "!sFldBackup!\%%i\*.*"
xcopy "!sFldWork!\*.*" "!sFldBackup!\%%i\*.*" /e /h /k /r /y >nul
rem /E Копирует все папки и подпапки, включая пустые.
rem /H Копирует скрытые и системные файлы.
rem /K Копирует атрибуты. Простая команда Xcopy сбрасывает атрибут "Только чтение".
rem /O Копирует права владельца файлом и сведения таблицы управления доступом (ACL).
rem /R Заменяет файлы, доступные только для чтения.
rem /Y Подавляет запрос на подтверждение перезаписи существующего конечного файла.
)
goto :Loop
EndLocal
exit /b