![]() |
Скрипт для копирования из 4 сетевых папок в одну
Возникла необходимость копирования текстовых файлов из 4 сетевых папок в одну. Я так понимаю для одной папки будет что-то типо такого:
Код:
Option Explicit |
Поменять ненужный здесь цикл по маскам на цикл по ресурсам:
Код:
Option Explicit Цитата:
|
Странно, ошибка выходит:
![]() то бишь там, где строчка Move.. |
Код:
.MoveFile .BuildPath(strPath, "*.*"), "\\server2\Destination\" Код:
Option Explicit |
Вопрос 1.
А если файлы (папки) уже существуют , в "\\server2\Destination" ... Они будут заменяться автоматически ??? Вопрос 2. Как скопировать из 4-х папок, файлы удовлетворяющие атрибутам по дате создания ( например не старше 30 дней) ?. |
Цитата:
Цитата:
Цитата:
О каких папках — «если файлы (папки)» — идёт речь? Изначально говорилось только о текстовых файлах. Цитата:
|
Цитата:
|
|
Iska
Пока ничего. А какие могут быть варианты? В данном случае с одной стороны это может быть и хорошо, но желательно конечно чтобы имена файлов при перемещении переносились в лог на сетевом диске, чтобы было видно какие файлы перемещались. На powershell так и сделано, но там проблема с наименованием файлов с символами - он их просто не перемещает, если в файле нету символа - то все ок. Правда все файлы с символами. |
Цитата:
|
Цитата:
Цитата:
Вариантов несколько. 1. Закомментировать вывод сообщений апострофом: Код:
'WScript.Echo "Folder [" & strPath & "] not contain any files" 2. Исполнять скрипт под консольным хостом «cscript.exe»: Код:
cscript.exe //nologo "Путь\Имя.vbs" 3. Вообще подавить вывод сообщений (в том числе и сообщений об ошибках): Код:
cscript.exe //nologo //b "Путь\Имя.vbs" Код:
wscript.exe //b "Путь\Имя.vbs" |
Большое спасибо, Iska.
Воспользовался первым вариантом. А можете подсказать каким образом в дальнейшем сделать перемещение из 4 папкок в 4 другие соответствующие папки. То есть например перемещать из папки \\server1\share1 в \\server2\share1, \\server1\share2 в \\server2\share2 и так для четырех папок. А также возможно ли каким-то образом вносить имена перемещаемых файлов в лог? |
Всё возможно. Но скажите, а каков глубинный смысл перемещения с одного ресурса на другой?
|
А можете подсказать как это реализовать?
А смысл простой - есть 4 папки на внешнем фтп. Туда заливаются отчеты в текстовых файлах. На первом этапе(тестовом) их необходимо перемещать с этого фтп в одну папку на другой сервер, второй - этап из каждой папки в соответствующую папку на втором сервере. А потом из 4 папкок уже на втором сервере происходит автоматическая обработка содержания файлов приложением и дальнейшее их распеределение в соответствующие директории. |
Wsador, примерно так (не проверялось):
|
Iska
Спасибо, проверил -все работает. А возможно ли добавить логирование? Чтобы он заносил имя перемещаемых файлов в текстовый лог в сетевую папку на server2 - например в "\\server2\sharelogs"? |
Цитата:
Цитата:
Если очень нужно, можно попробовать перебором: Для вывода лога в файл используйте перенаправление вывода: Код:
cscript.exe //nologo "Путь\Имя.vbs" >"\\server2\sharelogs\Out.log" |
Вложений: 1
Iska
Все хорошо, только проблема с логом возникла. При запуске файла vbs с этим: Код:
cscript.exe //nologo "Путь\Имя.vbs" >"\\server2\sharelogs\Out.log" |
Цитата:
Цитата:
Цитата:
|
Вложений: 1
|
Как Вы запускаете — теперь:
Цитата:
|
Время: 10:39. |
Время: 10:39.
© OSzone.net 2001-