Skript pro extrahování informací z ftp serveru

Problém

Zajímalo by mě, jestli byste mi mohli pomoci s následujícími prosím.

Chtěl bych vytvořit skript (v libovolném jazyce, podle toho, co je nejjednodušší), který se při spuštění bude přihlašovat k existujícímu ftp serveru pomocí obecného účtu a hesla, poté seznam souborů ve specifické složce, která začíná řetězcem "abc" ". Názvy souborů spolu s datem jejich vytvoření pak budou extrahovány do souboru csv (nebo podobného). Může mi někdo pomoci, prosím?

Řešení

Zde je skript:

ftp.Hostname = "ftp.test.com"

ftp.Username = "Uživatel"

ftp.Password = "Předat"

'Výchozí režim přenosu dat je "Aktivní" na rozdíl od "Pasivního".

'Změňte ji na Pasivní nastavením vlastnosti Pasivní:

ftp.Passive = 1

'Po připojení vytvořte zabezpečený kanál AUTH SSL

'na standardním portu FTP 21.

ftp.AuthTls = 1

Vlastnost Ssl slouží k vytvoření implicitního spojení SSL

'na portu 990. Nenastavujte ho.

ftp.Ssl = 0

'Připojit a přihlásit se na FTP server.

connectStatus = ftp.Connect ()

Pokud (connectStatus 1) Potom

MsgBox ftp.LastErrorText

'WScript.Quit

Main = DTSTaskExecResult_Failure

Jiný

dirStatus = ftp.ChangeRemoteDir ("RMed")

Pokud (dirStatus 1) Potom

MsgBox ftp.LastErrorText

'WScript.Quit

Main = DTSTaskExecResult_Failure

Konec Pokud

'MsgBox ftp.getCurrentRemoteDir ()

'zadejte cestu a název souboru na lokálním počítači

localInvoiceFile = "C: Dokumenty a nastaveníNathanMy Documents2dRMedInvoice_RMed.txt"

localPatientFile = "C: Dokumenty a nastaveníNathanMy Documents2dRMedPatient_RMed.txt"

'zadejte cestu a název souboru na vzdáleném počítači

remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"

remotePatientFile = "C: ClientsStratFile UploadsCustomer UploadsRMedPatient_RMed.txt"

'MsgBox remoteInvoiceFile

'MsgBox remotePatientFile

'stáhnout soubory ze vzdáleného serveru

transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)

pak (transferStatus 1)

MsgBox ftp.LastErrorText

Main = DTSTaskExecResult_Failure

jiný

Main = DTSTaskExecResult_Success

konec, pokud

transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)

pak (transferStatus 1)

MsgBox ftp.LastErrorText

Main = DTSTaskExecResult_Failure

jiný

Main = DTSTaskExecResult_Success

konec, pokud

KONEC IF

ftp.Disconnect

Funkce End

Poznámka

Díky cb4nd17 za tento tip na fóru.

Předchozí Článek Následující Článek

Nejlepší Tipy