Компьютерный форум 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=338142)

aka_john 09-12-2018 22:09 2845071

Безусловная циклическая архивация файлов за последние Х дней
 
Добрый день.

Для архивации некоторых файлов использую следующую команду с планировщика

copy "d:\ФайлИсходник*.*" f:\arhive\ФайлНазначение*.*%date:~0,2%

Рано или поздно папка архива переполняется по месту на диске.
Как организовать копирование (архивацию), в цикле например за последние 5 дней, чтобы перезаписывался всегда более старый файл.
И в итоге в архиве были файлы только за последние 5 дней.
Спасибо.

aka_john 09-12-2018 22:26 2845073

Пока решил проблему удалением файлов старше 5 дней
forfiles /p f:\Arhive\ /m *.* /s /d -5 /c "cmd /c del @path /q"

Busla 09-12-2018 23:14 2845076

создаёте каталоги по дням недели и в них складываете

alpap 10-12-2018 03:01 2845096

Цитата:

Цитата aka_john
Пока решил проблему »

а как еще вы ее собирались решить по сути?

Цитата:

Цитата aka_john
за последние 5 дней »

вот вы сами сейчас сходу дадите ответ что это значит? Это последние 5 дней в каждом месяце или это последние 5 дней из числа архивов на момент запуска кода? Если второе, то другие архивы (выше количества 5) должны быть уже и остается только удалять лишние. Если первое, надо высчитывать последние 5 дней каждого месяца текущего года чтобы запускать код только в определенном диапазоне дней.

megaloman 10-12-2018 11:54 2845134

aka_john,
Цитата:

Цитата Busla
создаёте каталоги по дням недели и в них складываете »

Код:

@Echo Off
        Set "FileIn=Z:\Box_In\*.*"
        Set "BoxOut=Z:\Box_Arc"
        Md "%BoxOut%\%Date%"

        Copy "%FileIn%" "%BoxOut%\%Date%\"
        FOR /F "usebackq Skip=5 delims=" %%i IN (`2^>nul Dir /B /O:-D /T:C /A:D "%BoxOut%"`) DO Rd /S /Q "%BoxOut%\%%i"
GoTo :Eof



Время: 16:52.

Время: 16:52.
© OSzone.net 2001-