1

Тема: VBA: Перенос файлов с FTP и наоборот

Добрый день!

Необходимо выполнить :
- перенос (не копирование файлов) файлов по маске *.CP c FTP на локальный компьютер.
- перенос (не копирование файлов) файлов по маске *.CM с локального компьютера на FTP.

Есть две папки на FTP - Inbox и Outbox.
- В папке Inbox хранятся файлы для обработки на локальной машине - файлы формата *.CP
- В папку Outbox возвращается обработанный файл формата *.CM
Есть две локальные папки - Inbox1 и Outbox1.
- В папку Inbox1 переносятся файлы *.CP из Inbox с FTP
- В папку Outbox1, после обработки на локальном компьютере, попадают обработанные файлы в формате *.CM

Получается такой процесс одного файла:
1 путь:
FTP - Inbox - 0013.CP
Local - Inbox1 - 0013.CP

Тут происходит обработка и он попадает в Outbox1

2 путь:
Local - Outbox1 - 0013.CM
FTP - Outbox - 0013.CM

Имена файлов неизвестны. Известен лишь формат.

Сначала была идея, чтоб одной командой mget *.CM получить, потом следующей командой удалить.
Но после получения всех файлов, в FTP папку Inbox могут попасть еще парочку файлов, и тогда следующей командой DEL удалятся и еще парочку файлов на обработку.

Необходимо выполнить :
- перенос (не копирование файлов) файлов по маске *.CP c FTP на локальный компьютер.
- перенос (не копирование файлов) файлов по маске *.CM с локального компьютера на FTP.

Был написан сначала код, при котором файлы копировались и выводился лог отчета FTP в файл, дабы по полученным данным вновь совершить вход на ftp и удалить перенесенные файлы. Тут же очищались некоторые строчки в ЛОГ файле.

On Error Resume Next 
dim obj1
dim stroutput

Set objShell = CreateObject("WScript.Shell")

strCommand1 = "ftp.exe -s:ftp1.1.txt"

Set OBJ1 = objShell.exec(strCommand1)

strOutput = Replace(OBJ1.StdOut.ReadAll, VbCrLf & "PROMPT", "")
strOutput = Replace(strOutput,"Пользователь (10.200.0.182:(none)): Open 10.200.0.182 2121" & VbCrLf & "Интерактивный режим Выкл." & VbCrLf, "")

With WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile("c:/scripts/ftp.log", True)
    .Write strOutput
    .Close
End With

Файл ftp1.1.txt выглядит так:

Open 10.200.0.182 2121
LOGIN
PASSWORD
PROMPT
cd /inbox
ls
lcd c:/scripts/inbox1
mget *.CRS 
cd /outbox
ls
mput c:/scripts/outbox1/*.CER
disconnect
quit

Прошу помочь.
Может как то через БАТник это можно сделать быстрее?