النصي لاستخراج معلومات الملفات من خادم بروتوكول نقل الملفات

القضية

أتساءل عما إذا كنت تستطيع مساعدتي فيما يلي الرجاء.

أرغب في إنشاء برنامج نصي (بأية لغة أيا كان أسهل) والذي سيتم تشغيله عند تشغيله ، إلى خادم ftp موجود باستخدام حساب وكلمة مرور عامة ، ثم يسرد الملفات في مجلد محدد يبدأ بالسلسلة "abc ". ثم يتم استخراج أسماء الملفات إلى جانب تاريخ إنشائها على ملف CSV (أو ما شابه). هل يمكن لأي شخص أن يساعدني في هذا من فضلك؟

حل

هنا هو السيناريو:

ftp.Hostname = "ftp.test.com"

ftp.Username = "المستخدم"

ftp.Password = "Pass"

"وضع نقل البيانات الافتراضي هو" نشط "بدلاً من" الخامل ".

تغييره إلى المبني للمجهول عن طريق تعيين خاصية المبني للمجهول:

ftp.Passive = 1

قم بإنشاء قناة آمنة لـ AUTH SSL بعد الاتصال

على منفذ 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")

إذا (ديرستاتوس 1)

'MsgBox ftp.LastErrorText

"WScript.Quit

الرئيسي = DTSTaskExecResult_Failure

إنهاء إذا

'MsgBox ftp.getCurrentRemoteDir ()

حدد مسار الملف واسمه على الجهاز المحلي

localInvoiceFile = "C: Documents and SettingsNathanMy Documents2dRMedInvoice_RMed.txt"

localPatientFile = "C: Documents and SettingsNathanMy Documents2dRMedPatient_RMed.txt"

حدد مسار الملف واسمه على الجهاز البعيد

remoteInvoiceFile = "C: ClientsStratFile UploadsCustomer UploadsRMedInvoice_RMed.txt"

remotePatientFile = "C: ClientsStratFile UploadsCustomer 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 لهذه النصيحة في المنتدى.

المقال السابق المقالة القادمة

نصائح الأعلى