2012-07-02 10 views
5

में प्रतीकात्मक लिंक के लिए लक्ष्य बदलें मैं पहले से मौजूद प्रतीकात्मक लिंक का लक्ष्य कैसे बदल सकता हूं। कोई समाधान काम करेगा: कंसोल, शक्तिशक्ति, आदि।विंडोज

महत्वपूर्ण सोच यह है कि इस परिवर्तन को परमाणु रूप से लिंक हटाने के लिए समाधान करना है और फिर एक नया निर्माण करना मेरे लिए काम नहीं करता है।

+0

यदि आप लेनदेन में हटाना और मनोरंजन लपेटते हैं तो मेरा मानना ​​है कि यह परमाणु होगा। –

+0

किस प्रकार का लेनदेन? फाइल सिस्टम ऑपरेशन जैसे कि उसी डिस्क पर फ़ाइल को स्थानांतरित करना मुझे लगता है कि परमाणु हैं। दो फाइल ऑपरेशन नहीं हैं। अगर मैं गलत हूं तो कृपया मुझे सही करें। –

+0

मेरा जवाब देखें। विंडोज विस्टा में ट्रांजैक्शनल एनटीएफएस के लिए समर्थन जोड़ा गया था। –

उत्तर

2

FSCTL_SET_REPARSE_POINT control code का उपयोग करके ZwFsControlFile function के साथ ऐसा लगता है। कम से कम यही है कि मैंने प्रोसेसर मॉनिटर के माध्यम से यह कितना दूर प्रबंधक किया है।

+0

मार्च 2017 तक [सुदूर प्रबंधक] (http://svn.code.sf.net/p/farmanager/code/trunk/unicode_far/flink.cpp) [DeviceIoControl] का उपयोग करता है (https://msdn.microsoft.com /en-us/library/windows/desktop/aa363216%28v=vs.85%29.aspx) सिमलिंक या जंक्शन लक्ष्य को बदलने/संपादित करने के लिए फ़ंक्शन। –

1

आप एक नया प्रतीकात्मक लिंक बनाने का प्रयास कर सकते हैं, और उसके बाद पुराने को ओवरराइट करने के लिए नए लिंक का नाम बदल सकते हैं।

कुछ संभावनाएं यहाँ उल्लेख कर रहे हैं:

Is an atomic file rename (with overwrite) possible on Windows?

2

आप ट्रांसेक्शनल NTFS इस्तेमाल कर सकते हैं। निम्नलिखित कार्य देखें:

नकारात्मक पक्ष यह है कि एमएस लेनदेन के लिए समर्थन का बहिष्कार कर रहे हैं। विशेष रूप से लेन-देन विंडोज सर्वर 2012 में पेश की जाने वाली नई फाइल सिस्टम में उपलब्ध नहीं हैं।

+0

धन्यवाद, हैरी। हालांकि लेनदेन करना संभव नहीं है। दुर्भाग्यवश बहिष्कार एक बुरा संकेत है इसलिए मुझे यकीन नहीं है कि मैं इसका उपयोग कर पाऊंगा। –

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

  • कोई संबंधित समस्या नहीं^_^