النصي لاستخراج معلومات الملفات من خادم بروتوكول نقل الملفات
القضية
أتساءل عما إذا كنت تستطيع مساعدتي فيما يلي الرجاء.
أرغب في إنشاء برنامج نصي (بأية لغة أيا كان أسهل) والذي سيتم تشغيله عند تشغيله ، إلى خادم 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 لهذه النصيحة في المنتدى.