|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] перемещение N файлов из папки в папку |
|
VBS/WSH/JS - [решено] перемещение N файлов из папки в папку
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать Приветствую всех!
Есть задача. Нужен VBS скрипт, который будет автоматизировать следующую операцию: Есть папка на сетевом ресурсе \\ServerName\Folder1, в которую регулярно формируются файлы формата *.rtf (могут быть открыты на запись, заняты). Необходимо из каталога \\ServerName\Folder1 перемещать N-ое количество *.rtf файлов в каталог \\ServerName\Folder2 с определенной периодичностью (регулируется интервалом запуска скрипта в планировщике Windows), пока из папки Folder1 не переместятся все файлы. Желательно, чтобы была предусмотрена проверка наличия файлов с одинаковым именем в папках Folder1 и Folder2. Если из Folder1 пытается переместиться файл, который уже есть в Folder2, то пропускать его. Заранее спасибо! |
|
Отправлено: 18:22, 26-11-2011 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Set objFSO = CreateObject("Scripting.FileSystemObject") SourceFolder = "\\ServerName\Folder1\" DestFolder = "\\ServerName\Folder2\" For Each File In objFSO.GetFolder(SourceFolder).Files TargetPath = DestFolder+File.Name If Not objFSO.FileExists(TargetPath) Then objFSO.MoveFile File.Path, DestFolder End If Next |
Последний раз редактировалось Loran_rus, 30-11-2011 в 14:56. Причина: орфографическая ошибка Отправлено: 14:52, 30-11-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Спасибо!
Хотел уточнить, в приведенном скрипте перемещаются все файлы из папки в папку я так понимаю, а нужно, чтобы количество задавалось как параметр, т.е. прописываем в скрипте параметр, например, NumberOfFiles=5 и запускаем скрипт раз в 10 сек. В итоге раз в 10 сек из папки Folder1 переместится 5 файлов в папку Folder2. Т.е. нужно "дозированное" перемещение. |
Отправлено: 17:38, 01-12-2011 | #3 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Тогда так
Set objFSO = CreateObject("Scripting.FileSystemObject") NumberOfFiles = 5 SourceFolder = "\\ServerName\Folder1\" DestFolder = "\\ServerName\Folder2\" For Each File In objFSO.GetFolder(SourceFolder).Files TargetPath = DestFolder+File.Name If Not objFSO.FileExists(TargetPath) Then If NumberOfFiles = 0 Then Exit For End if objFSO.MoveFile File.Path, DestFolder NumberOfFiles = NumberOfFiles-1 End If Next |
Отправлено: 07:31, 02-12-2011 | #4 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Для учета расширений файлов добавил пару строк, отпишитесь если верно
Set objFSO = CreateObject("Scripting.FileSystemObject") NumberOfFiles = 5 SourceFolder = "\\ServerName\Folder1\" DestFolder = "\\ServerName\Folder2\" For Each File In objFSO.GetFolder(SourceFolder).Files TargetPath = DestFolder+File.Name If LCase(objFSO.GetExtensionName(TargetPath)) = "rtf" Then '<----- If Not objFSO.FileExists(TargetPath) Then If NumberOfFiles = 0 Then Exit For End if objFSO.MoveFile File.Path, DestFolder NumberOfFiles = NumberOfFiles-1 End If End If '<----- Next |
|
Отправлено: 15:07, 06-12-2011 | #5 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать object.GetExtensionName(path) Возвращает строковое значение расширения последнего компонента в указанном пути.
Так что TargetPath хоть и содержит путь назначения \\ServerName\Folder2\ последний его компонент является именем (вместе с расширением) обрабатываемого файла и методу не важно что написано до последнего символа \ можно даже TargetPath заменить на File.Name. Единственное что могу порекомендовать это вписать оба параметра в одно условие |
Отправлено: 21:08, 06-12-2011 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Перемещение файлов только определенного формата в другую папку | RoseBl | Скриптовые языки администрирования Windows | 10 | 27-04-2015 03:54 | |
VBS/WSH/JS - Перемещение файлов и папок в разные папки... | WalkManX | Скриптовые языки администрирования Windows | 0 | 07-08-2011 22:37 | |
CMD/BAT - Перемещение в папку определенного количества файлов | Arsenik77 | Скриптовые языки администрирования Windows | 1 | 18-07-2011 17:11 | |
VBS/WSH/JS - Перемещение файлов в только, что созданную папку из контекстного меню. | OSArev | Скриптовые языки администрирования Windows | 14 | 03-03-2011 22:08 | |
CMD/BAT - [решено] Перемещение устаревших файлов из папки в резервную папку | zavoruev | Скриптовые языки администрирования Windows | 22 | 28-05-2010 14:04 |
|