Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

[VBS] Upload file FTP

Community Beginner ,
Oct 26, 2011 Oct 26, 2011

Hi,

On my Mac I used this line in js to upload files to my print shop


var myCurlScrpt = 'set curlShlScrpt to "curl ftp://myProxy.local:8021 -T \\"{" & "' + gDonePdfArray.join() + '" & "}\\" -u xxxx@ftp1.vvv.se:zzzzz"\ndo shell script curlShlScrpt';



app.doScript(myCurlScrpt,ScriptLanguage.applescriptLanguage);

Now I need to o this on a win box. I suppose VBScript is the way to go, unfortunately I have never written a single line in VBS and an example how to do this would be much appreciated.

Thanks

TOPICS
Scripting
3.3K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 26, 2011 Oct 26, 2011

This is not all that helpful, but:

Your above script leverages the MacOS command-line tool "curl" to upload files to an ftp server. Windows does not ship with an analagous tool, unfortunately.

You could download and install curl for Windows: http://curl.haxx.se/download.html, then you could use an analagous VBscript to construct a command-line to run curl. Otherwise, you'll have to find some other way to do it. You could script access to the command-line ftp client in VB, or perhaps find a VB library that supports ftp.

Anyhow, hopefully that gives you a better idea what is going on...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 26, 2011 Oct 26, 2011

Thanks, I was hoping for some kind of native support. I seems a little to complicated for me att the moment. I will have to do with the upload service on my print shops website.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 09, 2011 Nov 09, 2011
LATEST

TECHNIQUE using Windows Command/Dos .bat file.

This is a technique for creating a .BAT file from a BAT file to.  I'm not modifying to your purpose, because I haven't worked with this in a while.

@ECHO OFF

:: Create the temporary script file

> script.ftp ECHO username

>>script.ftp ECHO mypassword

>>script.ftp ECHO cd myremotedir

>>script.ftp ECHO binary

>>script.ftp ECHO prompt n

>>script.ftp ECHO put C:\ff_Factory2007\MatchFunds\somefile.mdb

>>script.ftp ECHO quit

:: Use the temporary script for unattended FTP

:: Note: depending on your OS version you may have to add a '-n' switch

FTP -v -s:script.ftp ftp.fundexpenses.com

:: For the paranoid: overwrite the temporary file before deleting it

TYPE NUL >script.ftp

DEL script.ftp

GOTO End

:End

TECHNIQUE #2

VBS.

Option Explicit

Dim objFSO, objMyFile, objShell, strFTPScriptFileName, strFile2Get

Dim strLocalFolderName, strFTPServerName, strLoginID

Dim strPassword, strFTPServerFolder

'Customize code here to fit your needs

strLocalFolderName = "My Folder Name where we put the file to be FTPed"

strFTPServerName = "FTP Server Name"

strLoginID = "FTP Server Login ID"

strPassword = "FTP Login ID Password"

strFTPServerFolder = "Folder Name on FTP server where the file resides"

'The following code converts date to the right format, YYYYMMDD

strFile2Get = DatePart("yyyy",Date)

If DatePart("m",Date) < 10 Then

        strFile2Get = strFile2Get & "0"

End If

strFile2Get = strFile2Get & DatePart("m",Date)

If DatePart("d",Date) < 10 Then

        strFile2Get = strFile2Get & "0"

End If

strFile2Get = strFile2Get & DatePart("d",Date)

'The following code generates the file name on the FTP server you want to get

strFile2Get = "Data" & strFile2Get & ".csv"

'The follow lines of code generate the FTP script file on the fly,

'because the get file name changes every day

strFTPScriptFileName = strLocalFolderName & "\FTPScript.txt"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If (objFSO.FileExists(strFTPScriptFileName)) Then

    objFSO.DeleteFile (strFTPScriptFileName)

End If

Set objMyFile = objFSO.CreateTextFile(strFTPScriptFileName, True)

objMyFile.WriteLine ("open " & strFTPServerName)

objMyFile.WriteLine (strLoginID)

objMyFile.WriteLine (strPassword)

objMyFile.WriteLine ("cd " & strFTPServerFolder)

objMyFile.WriteLine ("ascii")

objMyFile.WriteLine ("lcd " & strLocalFolderName)

objMyFile.WriteLine ("get " & strFile2Get)

objMyFile.WriteLine ("bye")

objMyFile.Close

Set objFSO = Nothing

Set objMyFile = Nothing

'The following code executes the FTP script. It creates a Shell

'object and run FTP program on top of it.

Set objShell = WScript.CreateObject( "WScript.Shell" )

objShell.Run ("ftp -s:" & chr(34) & strFTPScriptFileName & chr(34))

Set objShell = Nothing

If you need more help, I may not check forum, so email me at max [at] htgrp dot com

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines