Skrypt do wyodrębniania informacji o plikach z serwera ftp
Kwestia
Zastanawiam się, czy mógłbyś mi pomóc, proszę, poniżej.
Chciałbym skonstruować skrypt (w dowolnym języku, który jest najłatwiejszy), który po uruchomieniu zaloguje się do istniejącego serwera ftp przy użyciu ogólnego konta i hasła, a następnie wyświetli pliki w określonym folderze rozpoczynającym się od ciągu „abc „ Nazwy plików wraz z datą ich utworzenia należy następnie wyodrębnić w pliku csv (lub podobnym). Czy ktoś może mi w tym pomóc?
Rozwiązanie
Oto skrypt:
ftp.Hostname = "ftp.test.com"
ftp.Username = "Użytkownik"
ftp.Password = „Pass”
„Domyślny tryb przesyłania danych to„ Aktywny ”, a nie„ Pasywny ”.
„Zmień na Pasywny, ustawiając właściwość Pasywna:
ftp.Passive = 1
„Ustanów bezpieczny kanał AUTH SSL po połączeniu
'na standardowym porcie FTP 21.
ftp.AuthTls = 1
„Właściwość Ssl służy do ustanowienia niejawnego połączenia SSL
'na porcie 990. Nie ustawiaj go.
ftp.Ssl = 0
„Połącz się i zaloguj do serwera FTP.
connectStatus = ftp.Connect ()
Jeśli (connectStatus 1) Następnie
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
Jeszcze
dirStatus = ftp.ChangeRemoteDir („RMed”)
If (dirStatus 1) Następnie
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
Zakończ jeśli
'MsgBox ftp.getCurrentRemoteDir ()
'określ ścieżkę i nazwę pliku na lokalnym komputerze
localInvoiceFile = "C: Dokumenty i ustawieniaNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Documents and SettingsNathanMy Documents2dRMedPatient_RMed.txt"
'określ ścieżkę i nazwę pliku na komputerze zdalnym
remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"
remotePatientFile = "C: ClientsStratFile UploadsCustomer UploadsRMedPatient_RMed.txt"
„MsgBox remoteInvoiceFile
„MsgBox remotePatientFile
„pobierz pliki ze zdalnego serwera
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
jeśli (transferStatus 1) to
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
jeszcze
Main = DTSTaskExecResult_Success
koniec jeśli
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
jeśli (transferStatus 1) to
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
jeszcze
Main = DTSTaskExecResult_Success
koniec jeśli
END IF
ftp.Disconnect
Zakończ funkcję
Uwaga
Podziękowania dla cb4nd17 za tę poradę na forum.