![]() |
перемещение N файлов из папки в папку
Приветствую всех!
Есть задача. Нужен VBS скрипт, который будет автоматизировать следующую операцию: Есть папка на сетевом ресурсе \\ServerName\Folder1, в которую регулярно формируются файлы формата *.rtf (могут быть открыты на запись, заняты). Необходимо из каталога \\ServerName\Folder1 перемещать N-ое количество *.rtf файлов в каталог \\ServerName\Folder2 с определенной периодичностью (регулируется интервалом запуска скрипта в планировщике Windows), пока из папки Folder1 не переместятся все файлы. Желательно, чтобы была предусмотрена проверка наличия файлов с одинаковым именем в папках Folder1 и Folder2. Если из Folder1 пытается переместиться файл, который уже есть в Folder2, то пропускать его. Заранее спасибо! |
Код:
Set objFSO = CreateObject("Scripting.FileSystemObject") |
Спасибо!
Хотел уточнить, в приведенном скрипте перемещаются все файлы из папки в папку я так понимаю, а нужно, чтобы количество задавалось как параметр, т.е. прописываем в скрипте параметр, например, NumberOfFiles=5 и запускаем скрипт раз в 10 сек. В итоге раз в 10 сек из папки Folder1 переместится 5 файлов в папку Folder2. Т.е. нужно "дозированное" перемещение. |
Тогда так
Код:
Set objFSO = CreateObject("Scripting.FileSystemObject") |
Для учета расширений файлов добавил пару строк, отпишитесь если верно
Код:
Set objFSO = CreateObject("Scripting.FileSystemObject") |
object.GetExtensionName(path) Возвращает строковое значение расширения последнего компонента в указанном пути.
Так что TargetPath хоть и содержит путь назначения \\ServerName\Folder2\ последний его компонент является именем (вместе с расширением) обрабатываемого файла и методу не важно что написано до последнего символа \ можно даже TargetPath заменить на File.Name. Единственное что могу порекомендовать это вписать оба параметра в одно условие Код:
If Not objFSO.FileExists(TargetPath) and LCase(objFSO.GetExtensionName(File.Name)) = "rtf" Then |
Время: 17:07. |
Время: 17:07.
© OSzone.net 2001-