Веб-решения для Вашего бизнеса

Перемещение группы файлов по расписанию

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

Проблема: если количество файлов достаточно большое, то робот начинает "захлебываться" - обработка файлов замедляется. К тому же робот выбирает все файлы подряд (по дате создания), а это не всегда правильно, так как есть приоритет загрузки файлов.

Утилита реализует следующую логику: перемещает файлы в папку для робота порциями. Чтобы предотвратить "захлебывание" робота можно указать количество файлов в папке робота, при котором пополнение файлов не происходит. Также можно задать приоритет перемещения файлов (по маске наименования файла). Утилита запускается из планировщика задач Windows по расписанию.

Синтаксис утилиты:

MoveFilesBySchedule.exe {-o FolderFROM} {-i FolderTO} [-n Files in batch]
[-r No more files in FolderTO]
[-m Mask for file name] [-x Regular expressions for file name]

ИСПОЛЬЗОВАНИЕ:
-o FolderFROM - Путь к папке, из которой будут перемещаться файлы
-i FolderTO - Путь к папке, в которую будут перемещаться файлы
-n Files in batch - Количество файлов, которые будут перемещаться за одну операцию. По умолчанию 100 файлов
-r No more files in FolderTO - Количество файлов в папке FolderTO при которых перемещение не происходит. По умолчанию 10
-m Mask for file name - Выбор файлов по маске. По умолчанию *.*
-x Regular expressions for file name - Выбор файлов по маске, которая представлена регулярным выражением. По умолчанию не задано

ПРИМЕЧАНИЕ:
Параметры -m и -x могут использоваться несколько раз. Порядок следования параметров задает приоритет перемещения файлов

Пример 1

MoveFilesBySchedule -o "c:\folderFROM" -i "c:\folderTO"

Перемещаются все файлы из папки "c:\folderFROM" в папку "c:\folderTO" партиями по 100 файлов. Если в папке "c:\folderTO" уже более 10 файлов, то перемещение не происходит.

Пример 2

MoveFilesBySchedule -o "c:\folderFROM" -i "c:\folderTO" -n 500 -r 150

Перемещаются все файлы из папки "c:\folderFROM" в папку "c:\folderTO" партиями по 500 файлов. Если в папке "c:\folderTO" уже более 150 файлов, то перемещение не происходит.

Пример 3

MoveFilesBySchedule -o "c:\folderFROM" -i "c:\folderTO" -n 500 -r 150 -m "*.txt" -m "*.csv"

Перемещаются сначала все файлы по маске "*.txt". Когда файлов "*.txt" не осталось перемещаются файлы с маской "*.txt". Перемещение из папки "c:\folderFROM" в папку "c:\folderTO" партиями по 500 файлов. Если в папке "c:\folderTO" уже более 150 файлов, то перемещение не происходит.

Пример 4

MoveFilesBySchedule -o "c:\folderFROM" -i "c:\folderTO" -n 500 -r 150 -m "*.txt" -x "IFd+.csv" -m "*.*"

Перемещаются сначала все файлы по маске "*.txt". Когда файлов "*.txt" не осталось перемещаются файлы с маской в виде регулярного выражения "IFd+.csv". Если закончились все файлы удовлетворяющие предыдущим условиям, то перемещяются все оставшиеся файлы подряд из папки "c:\folderFROM" в папку "c:\folderTO" партиями по 500 файлов. Если в папке "c:\folderTO" уже более 150 файлов, то перемещение не происходит.

Скачать утилиту: MoveFilesBySchedule.zip