<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Создание Бэкапа по разным папкам]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17582&amp;type=atom" />
	<updated>2023-02-02T06:07:52Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17582</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Создание Бэкапа по разным папкам]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=156593#p156593" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[andypetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40320</uri>
			</author>
			<updated>2023-02-02T06:07:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=156593#p156593</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Создание Бэкапа по разным папкам]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=156592#p156592" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yandoxip]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42992</uri>
			</author>
			<updated>2023-02-01T22:36:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=156592#p156592</id>
		</entry>
</feed>
