<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Создание Бэкапа по разным папкам]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17582</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17582&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Создание Бэкапа по разным папкам».]]></description>
		<lastBuildDate>Thu, 02 Feb 2023 06:07:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Создание Бэкапа по разным папкам]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156593#p156593</link>
			<description><![CDATA[<p><strong>yandoxip</strong>, приветствую.</p><p>Насколько я понял, таким образом.<br />Время в секундах и кол-во папок бэкапа можно задавать в параметрах, по умолчанию: 2 секунды и 3 папки.<br />Крутится бесконечный цикл, в котором после ожидания 2 секунд исходная папка копируется в папки бэкапа: 1, 2, 3, 1, 2, 3, ...<br />Ключ /O команды xcopy у меня не работает (нет прав администратора).</p><div class="codebox"><pre><code>@echo off &amp; title %~nx0 &amp; SetLocal EnableExtensions EnableDelayedExpansion

goto :Main
rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Help
  echo.Создание бэкапов каждые 2 с. в 3 папки.
  echo.Вызов: %~nx0 [Время = 2с.] [Колво_папок = 3]
  echo.
:PauseEnd
  pause
:End
  exit /b

rem ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Main

  rem Папки: исходная и бэкап.
  set &quot;sFldWork=%USERPROFILE%\Documents\work&quot;
  set &quot;sFldBackup=%USERPROFILE%\Documents\backup&quot;

  if &quot;%~1&quot;==&quot;&quot; (set /a nSec=2) else (set /a nSec=&quot;%~1&quot;)
  if &quot;%~2&quot;==&quot;&quot; (set /a nFld=3) else (set /a nFld=&quot;%~2&quot;)

  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 &gt;nul

    echo.&quot;!sFldWork!\*.*&quot; -^&gt; &quot;!sFldBackup!\%%i\*.*&quot;

    xcopy &quot;!sFldWork!\*.*&quot; &quot;!sFldBackup!\%%i\*.*&quot; /e /h /k /r /y &gt;nul
          rem /E Копирует все папки и подпапки, включая пустые.
          rem /H Копирует скрытые и системные файлы.
          rem /K Копирует атрибуты. Простая команда Xcopy сбрасывает атрибут &quot;Только чтение&quot;.
          rem /O Копирует права владельца файлом и сведения таблицы управления доступом (ACL).
          rem /R Заменяет файлы, доступные только для чтения.
          rem /Y Подавляет запрос на подтверждение перезаписи существующего конечного файла.
  )
goto :Loop

EndLocal
exit /b
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (andypetr)]]></author>
			<pubDate>Thu, 02 Feb 2023 06:07:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156593#p156593</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Создание Бэкапа по разным папкам]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156592#p156592</link>
			<description><![CDATA[<p>Не получается написать код, чтобы каждые пару секунд создавался бэкап, но каждый раз в разную папку, и после 3ей папки всё записывалось поверх 1 папки, потом поверх 2ой и т.д.<br /></p><div class="codebox"><pre><code>xcopy /y /o /e &quot;C:\Users\User\Documents\work\*.*&quot; &quot;C:\Users\User\Documents\backup\1\*.*&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yandoxip)]]></author>
			<pubDate>Wed, 01 Feb 2023 22:36:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156592#p156592</guid>
		</item>
	</channel>
</rss>
