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.

Önceki Makale Sonraki Makale

En Ipuçları