Skript för att extrahera filer info från ftp-server
Problem
Undrar om du kunde hjälpa mig med följande snälla.
Jag skulle vilja konstruera ett manus (på vilket språk som helst det är enklast) som när det körs loggar det på en befintlig ftp-server med ett generiskt konto och lösenord, och listar sedan filerna i en specifik mapp som börjar med strängen "abc ". Filnamnen tillsammans med deras skapningsdatum ska sedan extraheras på en csv-fil (eller liknande). Kan någon hjälpa mig med det här tack?
Lösning
Här är manuset:
ftp.Hostname = "ftp.test.com"
ftp.Username = "User"
ftp.Password = "Pass"
'Standarddataöverföringsläget är "Aktiv" i motsats till "Passiv".
'Ändra den till passiv genom att ställa in den passiva egenskapen:
ftp.Passive = 1
"Upprätta en auktoriserad SSL-säker kanal efter anslutning
'på standard FTP-port 21.
ftp.AuthTls = 1
'Ssl-egenskapen är för att upprätta en implicit SSL-anslutning
"på hamn 990. Ställ inte in det.
ftp.Ssl = 0
'Anslut och logga in på FTP-servern.
connectStatus = ftp.Connect ()
Om (anslut Status 1) Då
'MsgBox ftp.LastErrorText
'WScript.Quit
Huvud = DTSTaskExecResult_Failure
Annan
dirStatus = ftp.ChangeRemoteDir ("RMed")
Om (dirStatus 1) Då
'MsgBox ftp.LastErrorText
'WScript.Quit
Huvud = DTSTaskExecResult_Failure
Avsluta om
'MsgBox ftp.getCurrentRemoteDir ()
'Ange filvägen och namnet på den lokala maskinen
localInvoiceFile = "C: Dokument och inställningarNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Dokument och inställningarNathanMy Documents2dRMedPatient_RMed.txt"
'Ange filvägen och namnet på fjärrmaskinen
remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"
remotePatientFile = "C: ClientsStratFile UploadsCustomer UploadsRMedPatient_RMed.txt"
'MsgBox remoteInvoiceFile
"MsgBox remotePatientFile
'ladda ner filerna från fjärrservern
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
om (transferStatus 1) då
'MsgBox ftp.LastErrorText
Huvud = DTSTaskExecResult_Failure
annan
Huvud = DTSTaskExecResult_Success
avsluta om
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
om (transferStatus 1) då
'MsgBox ftp.LastErrorText
Huvud = DTSTaskExecResult_Failure
annan
Huvud = DTSTaskExecResult_Success
avsluta om
SLUT IF
ftp.Disconnect
Slutfunktion
Notera
Tack vare cb4nd17 för detta tips på forumet.