2013-06-12 10 views
12

मेरे पास एक vbscript है जिसे मैंने किसी स्रोत निर्देशिका से फ़ाइलों को गंतव्य निर्देशिका में स्थानांतरित करने के लिए लिखा है। जिस समय स्क्रिप्ट इस समय काम करता है वह यह है कि मेरे पास एक मैपिंग फ़ाइल है जिसे पढ़ा जाता है (नक्शा आईडी फ़ोल्डर प्रकार के लिए)। प्रत्येक फ़ाइल को स्थानांतरित करने के साथ आईडी से शुरू होता है और गंतव्य आईडी के मैप किए जाने पर आधारित होगा। मैंने मानचित्रण फ़ाइल में पढ़ा है और प्रत्येक फ़ाइल को स्थानांतरित करने के लिए गंतव्य पथ का निर्माण किया है। यह सभी अपेक्षित काम करता है, समस्या तब होती है जब मैं किसी फ़ाइल को स्थानांतरित करने का प्रयास करता हूं जो गंतव्य निर्देशिका में पहले से मौजूद है, फ़ाइलों को स्रोत निर्देशिका से स्थानांतरित नहीं किया जाता है। अनिवार्य रूप से मैं इसे गंतव्य निर्देशिका में एक फ़ाइल को ओवरराइट करना चाहता हूं यदि यह पहले से मौजूद है। फिलहाल, मेरा मुख्य आदेश यह है:vbscript में गंतव्य में फ़ाइल को ओवरराइट करने के लिए MoveFile विधि के साथ समस्या?

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

इस डिफ़ॉल्ट हमेशा destionation निर्देशिका अगर यह पहले से मौजूद है में एक फ़ाइल को अधिलेखित करने के लिए एक तरीका है?

उत्तर

20

दुर्भाग्य से, VBScript MoveFile विधि काम करता है केवल जब लक्ष्य फ़ाइल मौजूद नहीं है। यह मौजूद होने पर ऐसी फ़ाइल को ओवरराइट नहीं कर सकता है, बस त्रुटि फेंक दें। जानकारी के लिए धन्यवाद -

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

बहुत बढ़िया:

तो एकमात्र विकल्प CopyFile (जो ओवरराइट करने का विकल्प नहीं है) तो DeleteFile उपयोग करने के लिए है। मुझे पता था कि मैं यह कर सकता था - मुझे नहीं पता था कि मूव कमांड के साथ मैं इसे और अधिक कुशल तरीके से कर सकता था या नहीं। – user1587060

+0

@ user1587060 नहीं, उस विशिष्ट विधि का उपयोग इस तरह के उपयोग के लिए कभी नहीं किया गया था। :) –

+0

यह अजीब प्रतीत होता है कि ओवरराइट करने का विकल्प है प्रतिलिपि विधि इच्छा लेकिन इस कदम नहीं है .. वैसे भी, कम से कम अब मैं जानता – user1587060

संबंधित मुद्दे