Script για εξαγωγή πληροφοριών αρχείων από διακομιστή ftp
Θέμα
Αναρωτιέστε αν θα μπορούσατε να με βοηθήσετε με τα παρακάτω παρακαλώ.
Θα ήθελα να δημιουργήσω μια δέσμη ενεργειών (σε οποιαδήποτε γλώσσα, όποια είναι πιο εύκολη), η οποία κατά την εκτέλεση θα συνδεθεί με έναν υπάρχοντα διακομιστή ftp χρησιμοποιώντας έναν κοινόχρηστο λογαριασμό και κωδικό και στη συνέχεια θα απαριθμήσει τα αρχεία σε ένα συγκεκριμένο φάκελο που αρχίζει με τη συμβολοσειρά "abc ". Τα ονόματα των αρχείων μαζί με την ημερομηνία δημιουργίας τους πρέπει στη συνέχεια να εξαχθούν σε ένα αρχείο csv (ή παρόμοιο). Μπορεί κάποιος να μπορέσει να με βοηθήσει σε αυτό παρακαλώ;
Λύση
Εδώ είναι το σενάριο:
ftp.Hostname = "ftp.test.com"
ftp.Username = "Χρήστης"
ftp.Password = "Pass"
"Η προεπιλεγμένη λειτουργία μεταφοράς δεδομένων είναι" ενεργή "σε αντίθεση με" παθητική ".
'Αλλαγή σε παθητικό ρυθμίζοντας την παθητική ιδιότητα:
ftp.Passive = 1
'Δημιουργία ασφαλούς καναλιού SSL AUTH μετά τη σύνδεση
'στην τυπική θύρα FTP 21.
ftp.AuthTls = 1
'Η ιδιότητα Ssl είναι για τη δημιουργία μιας σιωπηρής σύνδεσης SSL
'στη θύρα 990. Μην το ορίσετε.
ftp.Ssl = 0
'Συνδεθείτε και συνδεθείτε στο διακομιστή FTP.
connectStatus = ftp.Connect ()
Εάν (connectStatus 1) Στη συνέχεια
'MsgBox ftp.LastErrorText
'WScript.Quit
Κύριο = DTSTaskExecResult_Failure
Αλλού
dirStatus = ftp.ChangeRemoteDir ("RMed")
Αν (dirStatus 1) Στη συνέχεια
'MsgBox ftp.LastErrorText
'WScript.Quit
Κύριο = DTSTaskExecResult_Failure
Τέλος εαν
'MsgBox ftp.getCurrentRemoteDir ()
'καθορίστε τη διαδρομή αρχείου και το όνομα στο τοπικό μηχάνημα
localInvoiceFile = "C: Έγγραφα και ρυθμίσειςNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Έγγραφα και ρυθμίσειςNathanMy Documents2dRMedPatient_RMed.txt"
'καθορίστε τη διαδρομή αρχείου και το όνομα στο απομακρυσμένο μηχάνημα
remoteInvoiceFile = "C: Uploads του ClientsStratFileCustomer UploadsRMedInvoice_RMed.txt"
remotePatientFile = "C: Uploads ClientsStratFileCustomer UploadsRMedPatient_RMed.txt"
"MsgBox remoteInvoiceFile
"MsgBox remotePatientFile
'κατεβάστε τα αρχεία από τον απομακρυσμένο διακομιστή
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
αν (transferStatus 1) τότε
'MsgBox ftp.LastErrorText
Κύριο = DTSTaskExecResult_Failure
αλλού
Κύριο = DTSTaskExecResult_Success
τέλος εαν
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
αν (transferStatus 1) τότε
'MsgBox ftp.LastErrorText
Κύριο = DTSTaskExecResult_Failure
αλλού
Κύριο = DTSTaskExecResult_Success
τέλος εαν
ΤΕΛΟΣ ΕΑΝ
ftp.Disconnect
Λειτουργία τερματισμού
Σημείωση
Χάρη στο cb4nd17 για αυτή την άκρη στο φόρουμ.