Ftp sunucusundan dosya bilgilerini almak için komut dosyası
Konu
Bana aşağıdaki konuda yardımcı olabilir misiniz acaba?
Çalıştırıldığında, genel bir hesap ve şifre kullanarak mevcut bir ftp sunucusunda oturum açacak ve daha sonra "abc dizesi ile başlayan belirli bir klasördeki dosyaları listeleyecek bir betik (hangi dilde en kolay olursa olsun) oluşturmak istiyorum. ". Daha sonra oluşturma tarihleriyle birlikte dosya adları bir csv dosyasına (veya benzeri) çıkarılacaktır. Herhangi biri bu konuda bana yardımcı olabilir misiniz?
Çözüm
İşte script:
ftp.Hostname = "ftp.test.com"
ftp.Username = "Kullanıcı"
ftp.Password = "Geçiş"
'Varsayılan veri transfer modu, "Pasif" yerine "Aktif" dir.
'Pasif özelliğini ayarlayarak bunu Pasif olarak değiştirin:
ftp.Passive = 1
'Bağlantıdan sonra bir AUTH SSL güvenli kanal oluştur
'standart FTP portu 21’de.
ftp.AuthTls = 1
'Ssl özelliği, gizli bir SSL bağlantısı kurmak içindir.
'bağlantı noktası 990'da. Ayarlamayın.
ftp.Ssl = 0
'Bağlan ve FTP sunucusuna giriş yap.
connectStatus = ftp.Connect ()
Eğer (connectStatus 1) Sonra
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
Başka
dirStatus = ftp.ChangeRemoteDir ("RMed")
Eğer (dirStatus 1) Öyleyse
'MsgBox ftp.LastErrorText
'WScript.Quit
Main = DTSTaskExecResult_Failure
Bittiğinde
'MsgBox ftp.getCurrentRemoteDir ()
'yerel makinede dosya yolunu ve adını belirtin
localInvoiceFile = "C: Belgeler ve AyarlarNathanMy Documents2dRMedInvoice_RMed.txt"
localPatientFile = "C: Belgeler ve AyarlarNathanMy Documents2dRMedPatient_RMed.txt"
uzak makinedeki dosya yolunu ve adını belirtin
remoteInvoiceFile = "C: ClientsStratFile YüklemelerMüşteri YüklemeleriRMedInvoice_RMed.txt"
remotePatientFile = "C: ClientsStratFile YüklemelerMüşteri YüklemeleriRMedPatient_RMed.txt"
'MsgBox remoteInvoiceFile
'MsgBox remotePatientFile
'uzak sunucudan dosyaları indir
transferStatus = ftp.getFile (remoteInvoiceFile, localInvoiceFile)
eğer (transferStatus 1) o zaman
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
Başka
Main = DTSTaskExecResult_Success
eğer bitiyorsa
transferStatus = ftp.GetFile (remotePatientFile, localPatientFile)
eğer (transferStatus 1) o zaman
'MsgBox ftp.LastErrorText
Main = DTSTaskExecResult_Failure
Başka
Main = DTSTaskExecResult_Success
eğer bitiyorsa
SONDA
ftp.Disconnect
Son İşlev
Not
Forumdaki bu ipucu için cb4nd17 'e teşekkür ederiz.