Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Копирование файлов по дате (http://forum.oszone.net/showthread.php?t=308790)

Fantastish 04-12-2015 17:59 2581425

Копирование файлов по дате
 
Доброго дня, знаний в бат скриптах почти ноль, прошу помощи разобраться в срипте, раньше все работало без проблем на 2008, переделал сервер на 2012 r2 и не пашет

@echo off
::Введите ключ условий поиска даты:
::w (write) - по дате модификации
::c (create) - по дате создания
set sortkey=c
::введите маску для искомых файлов
set mask=*.TIB
::введите исходную папку
set src=D:\Backup\SM_base
::введите целевую папку
set dest=W:\1c

for /f "tokens=1-3*" %%a in ('dir "%src%\%mask%" /a-d /-c /t:%sortkey%') do (
if %%a==%date% (>nul copy /y "%src%\%%d" "%dest%" & echo %%d)
)

есть начальная и конечная папка, требуется копировать тока за предыдущий(прошлый) день файл архива
спасибо

Elven 04-12-2015 18:06 2581427

А как именно не работает? Сильно велика вероятность, что скрипт будет достаточно запустить от имени администратора, 2012r2 любит такую фигню...

Fantastish 04-12-2015 18:37 2581445

строка запущенная от админа echo on
D:\Backup\SM_base>for /F "tokens=1-3*" %a in ('dir "D:\Backup\SM_base\*.TIB" /a-
d /-c /t:c') do (if %a == 04.12.2015 (copy /y "D:\Backup\SM_base\%d" "W:\1c" 1>
nul & echo %d ) )

D:\Backup\SM_base>(if Том == 04.12.2015 (copy /y "D:\Backup\SM_base\D не имеет м
етки." "W:\1c" 1>nul & echo D не имеет метки. ) )

D:\Backup\SM_base>(if Серийный == 04.12.2015 (copy /y "D:\Backup\SM_base\BA2C-9F
BC" "W:\1c" 1>nul & echo BA2C-9FBC ) )

D:\Backup\SM_base>(if Содержимое == 04.12.2015 (copy /y "D:\Backup\SM_base\" "W:
\1c" 1>nul & echo ) )

D:\Backup\SM_base>(if 02.12.2015 == 04.12.2015 (copy /y "D:\Backup\SM_base\1c_ba
se__2015_12_02_23_00_16_954F.TIB" "W:\1c" 1>nul & echo 1c_base__2015_12_02_23_
00_16_954F.TIB ) )

D:\Backup\SM_base>(if 03.12.2015 == 04.12.2015 (copy /y "D:\Backup\SM_base\1c_ba
se__2015_12_02_23_00_16_954F2.TIB" "W:\1c" 1>nul & echo 1c_base__2015_12_02_23
_00_16_954F2.TIB ) )

D:\Backup\SM_base>(if 2 == 04.12.2015 (copy /y "D:\Backup\SM_base\байт" "W:\1c"
1>nul & echo байт ) )

D:\Backup\SM_base>(if 0 == 04.12.2015 (copy /y "D:\Backup\SM_base\байт свободно"
"W:\1c" 1>nul & echo байт свободно ) )
и все файл не копируется
W:\ диск это сетевая шара
в наличии уже два файла бэкапа

Elven 04-12-2015 19:56 2581483

Цитата:

Цитата Fantastish
02.12.2015 == 04.12.2015 »

Цитата:

Цитата Fantastish
03.12.2015 == 04.12.2015 »

И в чем проблема?

Fantastish 04-12-2015 22:17 2581524

не копирует

Iska 04-12-2015 23:22 2581541

Fantastish, как минимум, Вы забыли при переносе параметр /b у команды dir.

Fantastish 04-12-2015 23:44 2581548

так изначально то скрипт работал и подскажите куда его запихнуть
в принципе если есть вариант написания другого скрипта буду благодарен

з.ы. разобрался оказывается на нижнее подчеркивание реагировал скрипт
изменил папку все стало работать

Fantastish 07-12-2015 07:26 2582264

хотя нет снова перестал копировать, не пойму от чего зависит это

Fantastish 08-12-2015 12:11 2582656

есть варианты?
протестировал на 7ке х64 все ок

Fantastish 09-12-2015 12:36 2583014

так и не могу понять почему не хочет копировать 8/
какие то не понятные чудеса, убрал параметр /b все стало копироваться

VIS_36 17-02-2023 11:30 3003417

Прошу помощи написать батник. Задача копировать новые или изменённые файлы со всеми расширениями, а также папки со всех папок и подпапок, с одного дика на другой с датой изменения или создания к примеру дней за 20

DJ Mogarych 17-02-2023 11:55 3003422

См. robocopy

VIS_36 17-02-2023 14:14 3003440

DJ Mogarych, спасибо большое!

Опиум 25-02-2023 17:11 3004101

Цитата:

Цитата Fantastish
раньше все работало без проблем на 2008, переделал сервер на 2012 r2 и не пашет »

2008 русский, а 2012 английский или наоборот?)

Цитата:

Цитата Fantastish
тока за предыдущий(прошлый) »

где это задается из скрипта не понятно... скрипт что, в конце суток запускается ?)

Fantastish, используйте robocopy
Код:

          /MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
          /MINAGE:n :: MINimum file AGE - exclude files newer than n days/date.


YuS_2 25-02-2023 17:32 3004111

Опиум, некропостинг? :)
Не прошло и десяти лет...

VIS_36 21-03-2023 22:41 3005888

Зеркалю содержимое папки с диска на диск
Код:

@echo off
set date_=%date:/=-%
set source=E:\E-DISK
set dest=R:\E-DISK
mkdir %dest%
robocopy "%source%" "%dest%" /MIR /COPYALL /Z /B /R:3 /W:1
@echo on

так работает, но нужно зеркалить содердимое диска E в R:\E-DISK
Код:

@echo off
set date_=%date:/=-%
set source=E:\
set dest=R:\E-DISK
mkdir %dest%
robocopy "%source%" "%dest%" /MIR /COPYALL /Z /B /R:3 /W:1
@echo on

так не получается.. Поправьте пожалуйста

raddy 22-03-2023 00:45 3005890

Цитата:

Цитата VIS_36
но нужно зеркалить содердимое диска E в R:\E-DISK »

Код:

@echo off
rem set date_=%date:/=-% не используется
set source=E:\
set dest="R:\E-DISK"
rem mkdir %dest% не нужна
robocopy %source% %dest% /MIR /COPYALL /Z /B /R:3 /W:1


VIS_36 22-03-2023 09:01 3005895

raddy, Спасибо большое! Работает,но после копирования папка E-DISK становится срытой
Код:

@echo off
set source=E:\
set dest=R:\E-DISK
robocopy %source% %dest% /MIR /COPYALL /Z /B /R:3 /W:1 /REG /XD $RECYCLE.BIN /XJD /XD "System Volume Information" /XJD
attrib -h "R:\E-DISK"
@echo on

и параметр
Код:

attrib -h "R:\E-DISK"
не помогает

raddy 22-03-2023 10:48 3005910

Цитата:

Цитата VIS_36
но после копирования папка E-DISK становится срытой »

В какой системе?

raddy 22-03-2023 11:20 3005913

Код:

@echo off
set source=E:\
set dest=R:\E-DISK
robocopy %source% %dest% /MIR /COPYALL /Z /B /R:3 /W:1 /REG /XD "$RECYCLE.BIN" "System Volume Information"
rem /xjd убрано, т.к. /XJ :: исключить точки соединения. (по умолчанию обычно включаются).


VIS_36 22-03-2023 11:33 3005915

raddy, Спасибо большое


Время: 22:05.

Время: 22:05.
© OSzone.net 2001-