|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помощь с написанием Bat. Перемещение и удаление файлов и папок старше N дней. |
|
|
CMD/BAT - [решено] Помощь с написанием Bat. Перемещение и удаление файлов и папок старше N дней.
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать Подскажите пожалуйста, как реализовать следующую задачу:
Есть сетевое хранилище. В нем куча папок. В данный момент интересуют 5 из них. 4 папки используются для сканов с мфу, то есть пользователь отсканил документ, мфу его положил в свою папку(файлы могут быть как pdf так и jpg, все зависит от того как настроили при сканировании) В этих 4-х папка не должны оставаться файлы старше 3-х дней. Отсканировал-забрал, не забрал файл удалился. Нужно, чтоб планировщик запускал bat файл который, из указанной папки все файлы старше трех дней переносил в другую папку, затем из этой "другой папки" удалял все файлы старше 20 дней. При этом в папке могут быть созданы не только файлы с изображениями, так же там могу создать и папку, которую в свою очередь тоже нужно сначала переместить а уже потом удалить с теме же временными рамками что и у файлов. Для этого был написан вот такой батник: FORFILES /p "W:\Scan_Buh" /S /D -3 /C "cmd /c move @path "W:\EverybodyOld\Scan_Buh\"" :: Переносим все файлы и папки старше 3-х дней из папки Scan_Buh в папку EverybodyOld\Scan_Buh\ FORFILES /p "W:\EverybodyOld\Scan_Buh" /S /D -20 /C "cmd /c del @path /f /q" :: Удаляем все файлы старше 20-и дней из папки Scan_Buh FORFILES /p "W:\EverybodyOld\Scan_Buh" /S /C "cmd /c rd @path" :: Удаляем все пустые папки FORFILES /p "W:\Scan_Manager" /S /D -3 /C "cmd /c move @path "W:\EverybodyOld\Scan_Manager\"" :: Переносим все файлы и папки старше 3-дней из папки Scan_Manager в папку EverybodyOld\Scan_Manager\ FORFILES /p "W:\EverybodyOld\Scan_Manager" /S /D -20 /C "cmd /c del @path /f /q" :: Удаляем все файлы старше 20-и дней из папки Scan_Manager FORFILES /p "W:\EverybodyOld\Scan_Manager" /S /C "cmd /c rd @path" :: Удаляем все пустые папки Аналогично для остальных двух папок, меняется только путь к ним. Сейчас добавилась еще одна папка. В ней идет обмен документами, а так же несколько папок с которыми работают все. Тут может быть куча самых различных фалов, папок, подпапок... Из этой папке так же нужно перемещать все файлы\папки старше n дней в другую папку, затем по истечение n дней удалять из другой папки. НО есть несколько папок (в них соответственно файлы) которые трогать не нужно. К примеру есть w:\test в ней еще папки 1,2,3,4,5,6, и просто фалы лежащие в корне(кол-во файлов и папок может быть какое угодно и с каким угодно расширением), нужно чтоб всё что старше n дней переместилось в w:\arhiv\test кроме папки и всего содержимого в папка 2, 4,5 эти папки просто должны пропускаться (у них есть имя которое не изменяется, ведется работа только внутри этих папок) а потом уже из папки w:\arhiv\test так же все что старше 20 дней удалялось и файлы и папки в том числе. Как сделать исключение по названию папки? Чтоб при том же перемещении на определенную папку просто не обращалось внимания. У Forfiles есть ключ /м но это маска с которой он работает и не исключает. Все это на автомате, без каких либо запросов и ввода доп информации, задание ночью отработало и всё. Помогите разобраться и дополнить батник, а возможно и переделать совсем и оптимизировать. |
|
Отправлено: 17:10, 03-12-2015 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 05:39, 06-03-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2012 R2 - [решено] Удаление файлов старше 100 дней | DJ Mogarych | Windows Server 2012/2012 R2 | 6 | 07-06-2014 02:16 | |
Любой язык - [решено] Удаление файлов старше N дней | DOCznet | Скриптовые языки администрирования Windows | 2 | 27-09-2012 11:42 | |
Любой язык - Удаление файлов старше 5 дней кроме указанного по имени. | Joni | Скриптовые языки администрирования Windows | 6 | 11-07-2012 11:18 | |
VBS/WSH/JS - [решено] Удаление файлов по сети старше 7 дней, оставлять не менее 10 файлов | white155 | Скриптовые языки администрирования Windows | 6 | 04-01-2012 00:42 | |
Прочее - удаление файлов старше 10 дней | admin666 | Общий по Linux | 1 | 23-07-2009 19:09 |
|