Skript zum Extrahieren von Dateiinformationen vom FTP-Server
Problem
Ich frage mich, ob Sie mir bitte bei den folgenden Fragen helfen könnten.
Ich möchte ein Skript erstellen (in jeder Sprache, die am einfachsten ist), das sich beim Ausführen mit einem generischen Konto und Kennwort bei einem vorhandenen FTP-Server anmeldet und dann die Dateien in einem bestimmten Ordner auflistet, der mit der Zeichenfolge "abc" beginnt ". Die Dateinamen mit ihrem Erstellungsdatum sind dann in eine CSV-Datei (oder ähnliches) zu extrahieren. Kann mir bitte jemand dabei helfen?
Lösung
Hier ist das Skript:
ftp.Hostname = "ftp.test.com"
ftp.Username = "Benutzer"
ftp.Password = "Pass"
'Der Standard-Datenübertragungsmodus ist "Aktiv" im Gegensatz zu "Passiv".
'Ändern Sie es in Passiv, indem Sie die Eigenschaft Passiv festlegen:
ftp.Passive = 1
'Richten Sie nach der Verbindung einen sicheren AUTH SSL-Kanal ein
'auf dem Standard-FTP-Port 21.
ftp.AuthTls = 1
'Die Ssl-Eigenschaft dient zum Herstellen einer impliziten SSL-Verbindung
'auf Port 990. Stellen Sie es nicht ein.
ftp.Ssl = 0
'Stellen Sie eine Verbindung zum FTP-Server her und melden Sie sich an.
connectStatus = ftp.Connect ()
If (connectStatus 1) Then
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
Sonst
dirStatus = ftp.ChangeRemoteDir ("RMed")
If (dirStatus 1) Then
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
End If
'MsgBox ftp.getCurrentRemoteDir ()
'Geben Sie den Dateipfad und den Namen auf dem lokalen Computer an
localInvoiceFile = "C: Dokumente und EinstellungenNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Dokumente und EinstellungenNathanMy Documents2dRMedPatient_RMed.txt"
'Geben Sie den Dateipfad und den Namen auf dem Remote-Computer an
remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"
remotePatientFile = "C: ClientsStratFile UploadsCustomer UploadsRMedPatient_RMed.txt"
'MsgBox remoteInvoiceFile
'MsgBox remotePatientFile
'Laden Sie die Dateien vom Remote-Server herunter
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
if (transferStatus 1) dann
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
sonst
Main = DTSTaskExecResult_Success
ende wenn
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
if (transferStatus 1) dann
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
sonst
Main = DTSTaskExecResult_Success
ende wenn
ENDE WENN
ftp.Disconnect
Funktion beenden
Hinweis
Danke an cb4nd17 für diesen Tipp im Forum.