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

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

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

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


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

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


Привет всем.Прошу помощи так как новичок в этом деле, мне нужно написать батник который будет копировать файлы из папки BASE, в папку с датой к примеру (BASECOPY\01.01.10) + к этому хотелось бы сразу из этой же папки (BASECOPY) удалялись папки с датами на 2 дня назад, тоесть если дата будет 22.01.10, чтобы этотже батник перед копированием базы удалял даты до 20.01.10.
Очень прошу помощи в этом вопросе и если можно каких то обьяснений.Заранее спасибо!!!

Отправлено: 19:32, 12-10-2010

 

Googler


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

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


для стандартного формата даты: "ДД.ММ.ГГГГ":

Код: Выделить весь код
@echo off
SetLocal EnableDelayedExpansion

set SRC=BASE
set DST=BASECOPY

call :FromNow -2
xcopy /q/y "%SRC%\*" "%DST%\%DATE:~,5%.%DATE:~-2%\"
for /d %%i in (%DST%\*) do (
  set $i=%%~ni& set "$i=!$i:~-2!!$i:~3,2!!$i:~,2!"
  if !$i! lss %yymmdd% rd /s/q "%%i"
)
EXIT

:FromNow
 SetLocal
 Set yyyy=%DATE:~-4%& set /a mm=100%DATE:~3,2%%%100& set /a dd=100%DATE:~,2%%%100
 Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
 Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
 Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
 Set /A J=J+2-12*L,I=100*(N-49)+I+L
 Set /A yyyy=I,mm=100+J,dd=100+K
 EndLocal& Set yymmdd=%yyyy:~-2%%mm:~-2%%dd:~-2%
Exit /B
FYI: CMD/BAT - [решено] Удаление старых архивов (пост #5)

Отправлено: 05:45, 13-10-2010 | #2



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

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


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


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

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


Огромнейшее спасибо за ответ, если не трудно можете обьяснить что за что отвечает?

Ещё заметил что при копировании он копирует только файлы, но не копирует папки, можно это как-то исправить?Или указать ему чтобы он именно какую-то папку копировал, к примеру BASE/AA/?

Отправлено: 11:08, 13-10-2010 | #3


Googler


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

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


Цитата LightZone:
можете обьяснить что за что отвечает? »
SRC - папка с данными;
DST - папка с копиями;
FromNow - расчет даты, отстоящей от текущей на заданное кол-во дней (переменная yymmdd);
XCOPY - собственно команда копирования;
FOR /D ... - цикл перебора архивных папок и сравнение с переменной yymmdd

Цитата LightZone:
при копировании он копирует только файлы »
как было заказано

Цитата LightZone:
можно это как-то исправить? »
добавить в XCOPY ключ /s

Отправлено: 11:40, 13-10-2010 | #4


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


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

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


Понял спасибо, а вот если я хочу чтобы из папки к примеру BASE(10 файлов 10 папок в ней), чтобы именно копировалась папка BASE/AA к примеру, и больше нечего из подкаталога BASE?

Извиняюсь кажеться понял, set SRC=BASE/AA нужно наверно сделать так.

Отправлено: 13:33, 13-10-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Запрет на копирование файлов shponder Microsoft Windows 2000/XP 6 04-03-2009 08:40
Не работает копирование файлов DSS Microsoft Windows NT/2000/2003 2 07-09-2007 09:55
Копирование файлов с CD ProkVS Автоматическая установка Windows 2000/XP/2003 18 31-03-2007 06:42
Разрешение на копирование файлов alexroot Microsoft Windows NT/2000/2003 7 08-02-2006 12:21
Копирование файлов в сети hameg Сетевые технологии 1 18-06-2004 11:06




 
Переход