एक और NTFS डिस्क पर कॉपी करें और हार्ड लिंक को संरक्षित करें


10

मुझे निर्देशिका संरचना को एक स्थानीय NTFS डिस्क से दूसरे (विंडोज 7+) पर कॉपी करना है और इस निर्देशिका संरचना के भीतर मौजूद हार्ड लिंक को संरक्षित करना है।

एक स्वीकार्य समाधान यह होगा कि प्रतिलिपि से पहले (रिश्तेदार) प्रतीकात्मक लिंक के साथ हार्ड लिंक को प्रतिस्थापित किया जाए, लेकिन मुझे यकीन नहीं है कि यह व्यावहारिक भी है।

यहां क्या विकल्प हैं?


Superuser.com/questions/624811/… के अनुसार , एक सॉफ्टवेयर "शैडो कॉपी क्लोनर" को शांत कर सकता है।
वोजटेक

1
@Vojtech यह फ्रीवेयर नहीं है और अनुपलब्ध प्रतीत होता है। लेकिन दूसरी ओर ln.exe मेरी आवश्यकताओं के अनुरूप है। हालांकि, मैं GUI के साथ एक विकल्प रखना पसंद करूंगा।
एस्टुस फ्लास्क

1
@PJMahoney हाँ, ये हार्ड लिंक हैं, जंक्शनों और प्रतीकों की नकल करने में कोई समस्या नहीं होगी, बाद में सिर्फ नकल की जा सकती है और बाद में तय की जा सकती है। मैं इसे क्लोन करने का इरादा नहीं रखता, बस निर्देशिका संरचना (जो पूरी डिस्क का एक हिस्सा है) को किसी अन्य गैर-खाली डिस्क पर कॉपी करना है।
एस्टुस फ्लास्क

जवाबों:


9

टूल हार्ड डिस्क लिंक को कॉपी करने के लिए अलग डिस्क विभाजन

एलएन - कमांड लाइन हार्डलिंक

कमान: ln --copy x:\dir\dir2 y:\dir\newdir

उपरोक्त उदाहरण में x: \ dir \ dir2 के नीचे निर्देशिका और फाइलें y: \ dir \ newdir पर कॉपी की जाती हैं, और सभी हार्डलिंक / जंक्शन / प्रतीकात्मक लिंक x के भीतर: \ dir \ dir2 कॉपी किए जाते हैं या y के तहत उनके नए स्थानों से बंधे होते हैं। : \ dir \ newdir।

संसाधन: http://schinagl.priv.at/nt/ln/ln.html

डाउनलोड करें: http://schinagl.priv.at/nt/ln/ln.html#contact

नोट: ऐसा प्रतीत होता है कि आप जिप फाइल से अपने CPU आर्किटेक्चर के लिए, साथ ही vcredist (Visual C ++ Redistributable) से इस सॉफ्टवेयर को डाउनलोड करते हैं और इसे इंस्टॉल करते हैं। फिर ज़िप फ़ाइल से फ़ाइलों और फ़ोल्डरों को एक नए फ़ोल्डर में कहीं (.eg C:\Temp) में निकालें । कमांड लाइन में, बस उस [डायरेक्टरी] फोल्डर में जाएं और फिर उपरोक्त उदाहरणों के अनुसार आपके ड्राइव स्थानों के लिए आवश्यक कमांड चलाएं। रनिंग ln --helpशो विस्तार में मदद करते हैं लेकिन ऊपर दिए गए कमांड उदाहरण को hard linksप्रलेखन के अनुसार कॉपी करना है ।


लिंक शेल एक्सटेंशन

संसाधन: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

डाउनलोड करें: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html##actact

इस सॉफ्टवेयर के साथ ब्याज की धारा या कार्य

  • Smart Mirror
  • Clone
  • Smart Copy

ln - कमांड लाइन हार्डलिंक - डाउनलोड स्क्रीन शॉट यहां छवि विवरण दर्ज करें

लिंक शैल एक्सटेंशन - डाउनलोड स्क्रीन शॉट यहां छवि विवरण दर्ज करें


इंटरस्टिंग नोट

ऐसा प्रतीत होता है hard linksकि उनकी फ़ाइल पॉइंटर्स आदि के लिए एक ही डिस्क पार्टीशन में बंद है और कई विभाजनों में इसका उपयोग नहीं किया जा सकता है। इसके अलावा, hard linksNTFS पर विभाजन Master File Tableरिकॉर्ड्स (या कम से कम मायने रखता है के लिए विशेषताएँ) का एक हिस्सा है, इसलिए इनको मौजूदा डिस्क पर कॉपी करना जो कि स्वयं की है यह MFTएक समस्या की तरह प्रतीत होगा यदि आप विभाजन स्तर पर बाइट-फॉर-बाइट को क्लोन नहीं करते हैं। कम से कम।


4

कमांड-लाइन उपयोगिता rsyncवह करती है जो आप पूछते हैं।

अपना पुराना डेटा स्थान A पर स्थित है, और आपका नया डेटा B पर है, निम्न कार्य करें:

rsync -ahPruvz --hard-links A B

Rsync मैनुअल से उद्धरण:

यह स्रोत में हार्ड-लिंक्ड फ़ाइलों की तलाश करने के लिए rsync को बताता है और गंतव्य पर संबंधित फ़ाइलों को एक साथ लिंक करता है।

इसे कैसे प्राप्त करें rsyncऔर इसका उपयोग कैसे करें ? विंडोज के लिए 2 आसान विकल्प हैं:

पहला विकल्प: उपयोग cygwin। यह एक विंडोज़ सॉफ्टवेयर है। इसे स्थापित करें, rsyncचयन पैकेज के चरण में जोड़ें । बाकी सब डिफॉल्ट कर दो। इसे स्थापित करने के बाद, कमांड में टाइप करने के लिए इसके शेल का उपयोग करें। यदि आप चाहते हैं, तो आप /usr/bin/rsyncकेवल के बजाय पूर्ण पथ का उपयोग कर सकते हैं rsync। यदि आप विंडोज ड्राइव का उपयोग करना चाहते हैं, तो "/ cygwin / ड्राइव" जैसे रास्तों का उपयोग करें और हमेशा TAB का उपयोग करके ऑटो-पूर्ण करने का प्रयास करें।

दूसरा विकल्प: यदि यह एक डेस्कटॉप कंप्यूटर है, तो जीएनयू / लिनक्स वितरण का उपयोग करें। एक लाइव USB छवि तैयार करें, उससे बूट करें, वांछित डिस्क माउंट करें और rsync को आह्वान करें। यदि लाइव छवि नहीं है rsync, तो इसे स्थापित करें। ( apt-get install rsyncडेबियन और उसके डेरिवेटिव में।) यदि आप अभी तक लिनक्स पारिस्थितिकी तंत्र के साथ अनुभव नहीं कर रहे हैं, तो साइबरविन आसान हो सकता है।


इसे स्पष्ट करने के लिए धन्यवाद। मैंने rsync की जाँच की है, और यह वास्तव में हार्ड लिंक पर काम करता है (/ साइबरविन / ड्राइवलैटर और स्लैश के कारण कुछ असुविधा होती है लेकिन यह काम करता है)।
एस्टुस फ्लास्क

नोट: यदि Aकोई निर्देशिका है, तो Bवह नाम होना चाहिए जो निर्देशिका को लक्ष्य पर ले जाएगा ( cpउदाहरण के लिए, जहां अंतिम तर्क मूल निर्देशिका है)
MM

@estus - आपने किन तरीकों की कोशिश की, यह कैसे काम किया? और आपने सबसे अधिक क्या परिणाम देखे और पसंद किए?
एलेक्स एस

@ एलेक्स मुझे याद नहीं है, लेकिन संभावना lnहै कि एक और जवाब में दिखाया गया है। rsyncइस उत्तर से साइगविन भी काम कर सकता है, जैसा कि मैंने उल्लेख किया है।
एस्टुस फ्लास्क

1
@AlexS मैं, CLI उपयोगिता इस्तेमाल किया ln --copy। GUI के लिए, मैं मानता हूं कि 'स्मार्ट कॉपी' वह है जो आप खोज रहे हैं।
एस्टुस फ्लास्क

3

विंडोज़ के लिए rsync में देखने का प्रयास करें। चूंकि rsync में हार्डलिंक्स (फ्लैग -एच, --हार्ड-लिंक) को संरक्षित करने का विकल्प है, इसलिए उसे काम करना चाहिए (स्रोत: https://download.samba.org/pub/rsync/rsync.html )।

आप cwRsync की तरह कुछ देखने की कोशिश कर सकते हैं: https://www.itefix.net/cwrsync# यह एक GUI है।

cwRsync एक ग्राहक GUI के साथ Windows के लिए Rsync की एक पैकेजिंग है। आप तेज दूरस्थ फ़ाइल बैकअप और सिंक्रनाइज़ेशन के लिए cwRsync का उपयोग कर सकते हैं।


1
सॉफ्टवेयर की सिफारिश करते समय सावधानी बरतें। जैसा कि लिखा गया है, आपका उत्तर स्पैम के रूप में देखा जा सकता है। आपके उत्तर में सॉफ्टवेयर का विवरण शामिल होना चाहिए और यह प्रश्न को कैसे संबोधित करता है। अधिक जानकारी: मैं अपने उत्तरों में सॉफ्टवेयर की सिफारिश कैसे करूं?
bwDraco 17

1
मैं इसे पहले rsync के साथ प्राप्त करने में सक्षम नहीं था (मेरा मानना ​​है कि मैंने GUI के लिए DeltaCopy का उपयोग किया है)। यह NTFS हार्ड लिंक कार्यान्वयन और इस तथ्य के लिए प्रासंगिक हो सकता है कि rsync मुख्य रूप से * nix टूल है। कुछ स्पष्टीकरण की सराहना की जाएगी।
एस्टुस फ्लास्क

1

यहां पार्टी करने के लिए बहुत देर हो चुकी है।

विरोधपूर्ण तरीका इस्तेमाल करना। चूंकि रोबोकॉपी ने गंदगी की अनुमति दी है, तो हम इसे साफ करने के लिए रोबोकॉपी का उपयोग करेंगे।

एक खाली निर्देशिका बनाएं फिर खाली विकल्प को कॉपी करने के लिए रोबर्टोपी का उपयोग करें (जिसमें सुपर लॉन्ग पाथ हों) पर्ज विकल्प का उपयोग करें।

md %temp%\foo
robocopy %temp%\foo target /purge
rd target
rd %temp%\foo

वह काम करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.