Codewarp Home
Login | Site Map
Support

Dedicated Knowledge Base


Article 203
Title VBScript to FTP put
Content


' ftp_put.vbs
' file transfer put w/ weekday rotate if zip

Option Explicit

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Dim arg
Dim sh
Dim fso
Dim ex

Dim sHost
Dim sUser
Dim sPass
Dim sFile
Dim sFileRem
Dim sFileLoc
Dim sFolder
Dim sCmd
Dim sFtp
Dim iRtn

Set arg = WScript.Arguments
Set sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

If arg.Count < 5 Then
  WScript.Echo "arg.Count < 5"
  WScript.Quit(0)
Else
  sHost = arg.Item(0)
  sUser = arg.Item(1)
  sPass = arg.Item(2)

  sFileLoc = arg.Item(3)
  sFileRem = Replace(arg.Item(4), ".zip", "_" & Weekday(Now) & ".zip")

  sFtp = "open " & sHost & vbCrLf
  sFtp = sFtp & "user" & vbCrLf
  sFtp = sFtp & sUser & vbCrLf
  sFtp = sFtp & sPass & vbCrLf
  sFtp = sFtp & "binary" & vbCrLf
  sFtp = sFtp & "put " & sFileLoc & " " & sFileRem & vbCrLf
  sFtp = sFtp & "quit" & vbCrLf
  
  sFile = "\temp\ftp" & Int((60 * 60 * 24 * Rnd) + 1) & ".scr"

  Call WriteFile(sFile, sFtp)

  sCmd = "ftp -n -i -s:" & sFile

  iRtn = sh.Run(sCmd, 1, true)

'  If fso.FileExists(sFile) Then fso.DeleteFile(sFile)
End If

WScript.Quit(0)

Sub WriteFile(vsFile, vs)
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Dim fso
  Dim f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(vsFile, ForWriting, True)
  f.Write(vs)
  f.Close
  Set fso = Nothing
  Set f = Nothing
End Sub

Modified Date 9/16/2006

    Your feedback is important to us. Please send us comments:

    Contact Us Contact Us