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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Очистка папки. (http://forum.oszone.net/showthread.php?t=156167)

zubkoff.s 08-11-2009 02:05 1264376

Очистка папки.
 
Добрый день.
На сервере есть шара. В этой шаре определенная иерархия папок: клиенты, товар, ... temp
Вот в папку temp сваливаются все документы в течении недели, и такая задумка была, что б раз в неделю все пользователи распределяли документы из этой папки по нужным папкам иерархии. Но разумеется, есть пользователи, которые абсолютно не хотят учится.
Может кто простой батник скажет, или другой способ реализации.
Надо выполнение таких условий: если документ лежит в папке \\server\share\_Temp (не изменялся\не открывался) больше месяца - то этот документ перемещать по другому пути, не видному обычному пользователю.
Ну что б не совсем уже зверь - не сразу ж удалять - для начала спрячем )

Спасибо.

amel27 08-11-2009 04:57 1264406

- такие операции лучше проводить на сервере, т.е. по локальным путям;
- мы в таких случаях практикуем запуск RAR с соотв. ключиком упаковки "старых" файлов с удалением;
- реализация по "дате изменения" проще, чем по "дате открытия", тут надо определиться.

zubkoff.s 09-11-2009 16:29 1265791

Цитата:

Цитата amel27
- такие операции лучше проводить на сервере, т.е. по локальным путям; »

Ок, это не проблема. Доступ к серверу есть под Администратором.
Цитата:

Цитата amel27
мы в таких случаях практикуем запуск RAR с соотв. ключиком упаковки "старых" файлов с удалением; »

Только что просмотрел все параметры rar /? - как-то пока мутно представляю себе реализацию своей задумки. Хотелось бы что б программа запускалась и искала файлы, которые были последний раз изменены больше чем месяц назад: если сегодня 09\11 - то все файлы до 09\10 должны быть заархивированы. И так каждый день.

Может самый примитивный запрос (строку rar с параметрами) бросите?

zubkoff.s 09-11-2009 18:01 1265891

Нашел.
Командная строка
Forfiles -p e:\_temp -s -m *.* -d -15 -c "cmd /c move @path E:\1"
Перемещать все файлы, старше 15 дней (изменение) из указанной папки в папку E:\1

построчно:
-р - для указанного пути
-s - включая подпапки
-m - указанные типы файлов
-d - файл изменен <= 15 дней
-с выполнять следующую операцию

Источники:
http://www.osp.ru/win2000/2009/03/7312618/
http://it-shaman.blogspot.com/2008/11/blog-post.html

ЗЫ: Не применимо к каталогам.

amel27 10-11-2009 05:31 1266322

Цитата:

Цитата zubkoff.s
Может самый примитивный запрос (строку rar с параметрами) бросите? »

Код:

RAR m -r -ep1 -to15d e:\1\_temp.rar e:\_temp\*
Цитата:

Цитата zubkoff.s
Не применимо к каталогам »

это можно компенсировать средствами батника:
Код:

@Echo Off

Set $S=E:\_temp
Set $D=E:\1

If "%~2"=="ForFiles" (
 PushD %$S%
 If Not Exist "%$D%%~p1" MD "%$D%%~p1"
 Move "%$S%%~1" "%$D%%~p1"
 Exit
)

ForFiles -P "%$S%" -S -M * -D -15 -C "CMD /C If @IsDir==FALSE "%~0" @RelPath ForFiles"



Время: 12:01.

Время: 12:01.
© OSzone.net 2001-