file-io - شرح - التعامل مع الملفات في جافا



المشكلة مع أسلوب موففيل الكتابة فوق الملف في الوجهة في فسكريبت؟ (1)

لدي فسكريبت قمت بكتابته لنقل الملفات من دليل مصدر إلى دليل الوجهة. الطريقة التي يعمل البرنامج النصي في لحظة هو أن لدي ملف رسم الخرائط التي تقرأ في (خرائط معرف لنوع المجلد). كل ملف يتم نقله يبدأ مع المعرف وسوف تستند الوجهة على ما يتم تعيين معرف ل. قرأت في ملف رسم الخرائط وبناء مسار الوجهة لكل ملف يتم نقلها. يعمل كل هذا كما هو متوقع، والمشكلة هي عندما أحاول نقل ملف موجود بالفعل في الدليل الوجهة، لا يتم نقل الملفات من الدليل المصدر. أساسا أود أن الكتابة فوق ملف في الدليل الوجهة إذا كان موجودا بالفعل. في هذه اللحظة، الأمر الرئيسي هو:

fso.MoveFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name

هل هناك طريقة للتخلف عن هذا دائما إلى الكتابة فوق ملف في الدليل ديستيوناتيون إذا كان موجودا بالفعل؟


Answer #1

لسوء الحظ، يعمل أسلوب MoveFile فقط عندما يكون الملف الهدف غير موجود. لا يمكن الكتابة فوق هذا الملف عندما يكون موجودا، مجرد رمي الخطأ.

وبالتالي فإن الخيار الوحيد هو استخدام كوبيفيل (الذي لديه خيار الكتابة فوق) ثم ديليتفيل:

fso.CopyFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name, True
fso.DeleteFile ObjFile.Path




fso