I found WinZip's command line extension quite useful (then you're not limited to 8 char names):
Dim myObjFSO
Set myObjFSO = CreateObject("scripting.filesystemobject"

CheckFolder "C:\source"
Sub CheckFolder(strPath)
Dim objFolder
Dim objFile
Dim objSubdirs
Dim objLoopFolder
Set objFolder = myObjFSO.GetFolder(strPath)
'Do what you need to do below
For Each objFile In objFolder.Files
If UCase(Right(objFile.Name, 4)) = ".LOG" Then
Set MyObj=CreateObject("WScript.Shell"

Msgbox "C:\source\WZZIP.EXE test.zip " & strPath &"\"& objFile.Name
MyObj.Run "C:\source\WZZIP.EXE test.zip " & strPath &"\"& objFile.Name
End If
Next
'Loop through all subdirectories and do the same thing (if required).
Set objSubdirs = objFolder.SubFolders
For Each objLoopFolder In objSubdirs
CheckFolder objLoopFolder.Path
Next
Set objSubdirs = Nothing
Set objFolder = Nothing
End Sub
MsgBox "Processed files.", vbSystemModal, "Batch zipper"
You can download the extension from:
As to the FTPing - can't help.