2009-03-05 6 views
5

मै मैक और पीसी दोनों पर 'रीसायकल बिन' में फ़ाइलों को स्थानांतरित करने के लिए एक पायथन मॉड्यूल लिखने की कोशिश कर रहा हूं।Vista रीसायकल बिन कैसे काम करता है?

कोई फ़ाइल है, केवल एक कमांडलाइन से (और हाँ, मेरा मतलब है कि फाइल को रीसायकल बिन में स्थानांतरित करने के लिए), और यह ड्रैग और ड्रॉप द्वारा ट्रैश किए गए फ़ाइल के रूप में दिखाई देता है (या SHFileOperation, आदि के माध्यम से हटा दिया गया)।

उत्तर

5

आपको SHFileOperation फ़ंक्शन या Vista पर, IFileOperation इंटरफ़ेस (जैसा कि नीचे दिए गए अनुसार नीचे दिया गया है) का उपयोग करना चाहिए।

SHFileOperation पर

टिप्पणी से:

जब एक फ़ाइल को नष्ट करने के लिए इस्तेमाल किया, SHFileOperation स्थायी रूप से फ़ाइल जब तक आप SHFILEOPSTRUCT संरचना के fFlags सदस्य में FOF_ALLOWUNDO ध्वज सेट lpFileOp द्वारा की ओर इशारा हटा देता है। उस ध्वज को सेट करना फ़ाइल को रीसायकल बिन में भेजता है। यदि आप बस एक फ़ाइल को हटाना चाहते हैं और गारंटी देते हैं कि यह रीसायकल बिन में नहीं रखा गया है, तो DeleteFile का उपयोग करें।

+1

यह करने के लिए Win32/COM विधि का वर्णन क्यों कर रहे हैं, जब सवाल पाइथन तरीके से पूछता है, स्पष्ट रूप से सी #, सी ++, आदि को छोड़कर? –

+0

निश्चित रूप से पाइथन से सिस्टम कॉल निष्पादित करने का एक तरीका होना चाहिए। यदि नहीं, तो यह शुरू करने के लिए एक टूटा टूल है। – Joey

-1

ऐसा लगता है कि this mailing list entry आपकी मदद कर सकता है।

+1

वह यूआरएल 404 के रूप में प्रस्तुत करता है। –

5

विंडोज़ 'रीसायकल बिन में फ़ाइलों को स्थानांतरित करना एक शैल ऑपरेशन है। शेल ऑपरेशंस COM के माध्यम से चलाए जाते हैं। पुराने विंडोज संस्करणों के लिए SHFileOperation interface है। चूंकि Vista में नया IFileOperation interface.

3

मैंने Python library that does precisely that लिखा है। शायद आप इस पर एक नजर डालना चाहें।

+0

+1, भले ही यह Vista को नए एपीआई के साथ संभाल सके। – Joey

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