Script om bestandsinformatie uit de ftp-server te extraheren
Kwestie
Vraag me af of je me alsjeblieft kunt helpen met het volgende.
Ik zou graag een script willen bouwen (in elke taal, welke het het gemakkelijkst is), dat zich bij uitvoering zal aanmelden bij een bestaande ftp-server met behulp van een algemeen account en wachtwoord, en vervolgens de bestanden in een specifieke map zal weergeven die begint met de tekenreeks "abc ". De bestandsnamen samen met hun aanmaakdatum moeten vervolgens worden geëxtraheerd in een csv-bestand (of vergelijkbaar). Kan iemand me hiermee helpen?
Oplossing
Hier is het script:
ftp.Hostname = "ftp.test.com"
ftp.Username = "Gebruiker"
ftp.Password = "Pass"
'De standaard modus voor gegevensoverdracht is' Actief 'in tegenstelling tot' Passief '.
'Verander het in passief door het passieve eigendom in te stellen:
ftp.Passive = 1
'Stel na de verbinding een AUTH SSL-beveiligd kanaal in
'op de standaard FTP-poort 21.
ftp.AuthTls = 1
'De eigenschap Ssl is bedoeld om een impliciete SSL-verbinding tot stand te brengen
'op poort 990. Stel het niet in.
ftp.Ssl = 0
'Maak verbinding en log in op de FTP-server.
connectStatus = ftp.Connect ()
If (connectStatus 1) Then
'MsgBox ftp.LastErrorText
'WScript.Quit
Hoofd = DTSTaskExecResult_Failure
Anders
dirStatus = ftp.ChangeRemoteDir ("RMed")
If (dirStatus 1) Then
'MsgBox ftp.LastErrorText
'WScript.Quit
Hoofd = DTSTaskExecResult_Failure
Stop als
'MsgBox ftp.getCurrentRemoteDir ()
'geef het pad en de naam van het bestand op de lokale computer op
localInvoiceFile = "C: Documents and SettingsNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Documents and SettingsNathanMy Documents2dRMedPatient_RMed.txt"
'geef het pad en de naam op van het externe apparaat
remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"
remotePatientFile = "C: ClientsStratFile UploadsCustomer UploadsRMedPatient_RMed.txt"
'MsgBox remoteInvoiceFile
'MsgBox remotePatientFile
'download de bestanden van de externe server
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
indien (transferStatus 1) dan
'MsgBox ftp.LastErrorText
Hoofd = DTSTaskExecResult_Failure
anders
Hoofd = DTSTaskExecResult_Success
stop als
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
indien (transferStatus 1) dan
'MsgBox ftp.LastErrorText
Hoofd = DTSTaskExecResult_Failure
anders
Hoofd = DTSTaskExecResult_Success
stop als
STOP ALS
ftp.Disconnect
Eindfunctie
Notitie
Dank aan cb4nd17 voor deze tip op het forum.