Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Резервное копирование файла

Ответить
Настройки темы
CMD/BAT - Резервное копирование файла

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Dozentz
Дата: 13-07-2021
Описание: update
Имеется скрипт копирования целой папки c созданием текущей даты для копирования
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
:: ЧТО и КУДА копируем, сколько храним
:: $OLD - КОЛИЧЕСТВО хранимых архивов
Set $SRC=D:\Kadry\data
Set $DST=F:\Backup\oks
Set $OLD=6
:: Находим текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%
:: Создаем каталог/делаем архив
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y:~-2%\
:: Ограничиваем количество архивов
For /F "Delims=" %%i In ('DIR /B/O:-D/A:D %$DST%\??.??.??') Do (
   Set /A $OLD-=1
   If !$OLD! LSS 0 RD /S/Q "%$DST%\%%i"
)
подскажите как копировать не целую папку а только один файл из неё например 1.txt, а также архивация папки с датой

Отправлено: 13:08, 13-07-2021

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Это не ответ, это просто решение на powershell. Никаких претензий к cmd, просто мне скучно, а винды под рукой нет...
Код: Выделить весь код
$SRC = "D:\Kadry\data"
$DST = "F:\Backup\oks"
$OLD = 6
$filename = "file.name"
$archive_name= (get-date -Format yy.MM.dd)
(Get-ChildItem -Path $SRC $file).FullName | Compress-Archive -DestinationPath $DST$archive_name.zip
while ((Get-ChildItem -Path $DST ??.??.??.zip).Length -gt 6) {
  (Get-ChildItem -Path $DST ??.??.??.zip | Sort-Object -Property LastWriteTime -Top 1).Delete()
}
Если имя не указано, то заархивируется все содержимое папки.

Последний раз редактировалось Elven, 13-07-2021 в 17:19.


Отправлено: 17:13, 13-07-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Цитата Dozentz:
как копировать не целую папку а только один файл из неё например 1.txt »
Код: Выделить весь код
XCopy /S/E/D/C/Q %$SRC%\1.txt %$DST%\%$D%.%$M%.%$Y:~-2%\
Не тестировал.
Слегка упростил код:
Код: Выделить весь код
@Echo Off
cls
	rem Set "$SRC=D:\Kadry\data\*"
	Set "$SRC=D:\Kadry\data\1.txt"
	Set "$DST=F:\Backup\oks"
	Set /A $OLD=6

	FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "$ToDay=%%d" &Call Set "$ToDay=%%$ToDay:~6,2%%.%%$ToDay:~4,2%%.%%$ToDay:~2,2%%"

	XCopy /S/E/D/C/Q "%$SRC%" "%$DST%\%$ToDay%\"

	FOR /F "usebackq Skip=%$OLD% delims=" %%d IN (`2^>nul Dir "%$DST%\??.??.??" /B /O:-D /A:D`) DO Rd /S /Q "%%d"
Pause
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 13-07-2021 в 18:24.


Отправлено: 17:37, 13-07-2021 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Резервное копирование файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Резервное копирование Mays Windows Server 2008/2008 R2 2 29-08-2018 21:07
Помогите с двумя скриптами (резервное копирование и копирование с условием) n_i_x Программирование в *nix 3 21-06-2015 01:54
CMD/BAT - [решено] резервное копирование с помощью bat-файла vagner_HATE Скриптовые языки администрирования Windows 11 23-07-2011 19:50
Debian/Ubuntu - Резервное копирование. Tankistspb Общий по Linux 2 25-02-2008 11:56
Резервное копирование!! Forest_G Хочу все знать 2 09-06-2006 17:36




 
Переход