प्रतीकात्मक लिंक और 7zip


18

मैं .7z संग्रह में एक फ़ोल्डर को संपीड़ित करने की कोशिश कर रहा हूं। इस फ़ोल्डर में फ़ोल्डर (निर्देशिकाओं और फ़ाइलों दोनों) के बाहर कुछ अन्य सामान के प्रतीकात्मक लिंक होते हैं।

जाहिरा तौर पर 7zip केवल लिंक को संग्रहीत करता है जो कि मेरा इरादा नहीं है। क्या 7zip को बताने का कोई तरीका है जो मैं चाहता हूं कि वह उस सामग्री को संग्रहीत करे जिसे वह लिंक करता है, न कि लिंक को ही? (यदि कोई सिम्लिंक नाम है fooजो इंगित करता है C:\stuff\foo, तो मैं चाहता हूं कि इसे C:\stuff\fooनिर्देशिका में foo के स्थान पर आर्काइव में शामिल किया जाए, न कि 0-बाइट सिम्लिंक के लिए।)

क्या सवाल में फ़ाइलों और फ़ोल्डरों को जोड़ने के अलावा कोई उचित समाधान है? वहाँ लगभग 10,000 फाइलें सिम्बलिंक के माध्यम से संदर्भित हैं, इसलिए उन सभी को व्यक्तिगत रूप से जोड़ने में घंटों लगेंगे ... हो सकता है कि एक प्रोग्राम है जो इसमें वास्तविक फ़ाइलों के साथ एक मंचन फ़ोल्डर बनाता है और फिर उसे 7zip पर भेजता है। या सिर्फ एक संग्रहकर्ता जो बेहतर तरीके से सहानुभूति को संभालता है।

मैं विंडोज विस्टा चला रहा हूं। सभी लिंक प्रतीकात्मक लिंक हैं (उदाहरण के साथ mklink link targetऔर mklink /D link target)।

संपादित करें:

dir एक छोटे परीक्षण निर्देशिका के लिए कमांड आउटपुट:

C:\...>dir
 Volume in drive C is OS
 Volume Serial Number is 0A3D-CD6E

 Directory of C:\...

09/04/2010  18:12    <DIR>          .
09/04/2010  18:12    <DIR>          ..
09/04/2010  18:10               975 real file.txt
09/04/2010  18:11    <SYMLINK>      test file.txt [..\test file.txt]
               2 File(s)            975 bytes
               4 Dir(s)   5,214,355,456 bytes free

7zip के परिणाम के साथ 7z संग्रह बनाने के लिए real file.txtशामिल किया जा रहा है, लेकिन test file.txtएक 0 बाइट फ़ाइल के रूप में जोड़ा गया है, हालांकि फ़ाइल जुड़ा हुआ मौजूद है और 50KB है।


आप किस OS का उपयोग कर रहे हैं?
चार्ल्स गार्जेंट

2
"विंडोज़" टैग का सुझाव है कि im का उपयोग करते हुए, अच्छी तरह से खिड़कियां ...
फायर लांसर

1
ठीक है, आप किस संस्करण की खिड़कियों का उपयोग कर रहे हैं?
चार्ल्स गार्जेंट

@ फ़ायर लांसर: आम तौर पर, पाठ में टैग से किसी भी जानकारी को दोहराना एक अच्छा विचार है। पढ़ने में आसान है, और हर कोई उसे टैग नहीं देखता (जैसा कि वे नीचे हैं)। इसके अलावा, टैग गलतफहमी के लिए प्रवण हो सकते हैं। उदाहरण के लिए, मैं लिनक्स पर हो सकता हूं लेकिन विंडोज के साथ हस्तक्षेप करना चाहता हूं, इसलिए मैं अपने प्रश्न "विंडोज़" को टैग करता हूं।
21

1
ठीक है, ऐसा प्रतीत होता है कि 7z अभिलेखागार <SYMLINKD> और <JUNCTION> निर्देशिकाएं, लेकिन <SYMLINK> फाइलें नहीं हैं, इसलिए मुझे लगता है कि यदि आप अपनी सभी फाइलों को एक निर्देशिका और सिमलिंक में चुपके कर सकते हैं तो यह काम करेगा
hova

जवाबों:


13

जाहिरा तौर पर 7zip सिर्फ स्वयं को लिंक करता है जो वह है जो मैं इरादा नहीं करता है। क्या 7zip को बताने का एक तरीका है कि मैं चाहता हूं कि यह उस सामान को संग्रहीत करे जो इसे लिंक करता है, न कि स्वयं को लिंक करता है

नहीं, जाहिर है (दुर्भाग्य से) नहीं। वास्तव में 7zip पर एक बग रिपोर्ट है जिसमें यह अनुरोध किया गया है: http://sourceforge.net/tracker/?func=detail&aid=2846755&group_id=14481&atid=114481 लेकिन इसे अगस्त 2009 में खोला गया था और तब से नहीं छुआ था: - / /।

असफलता यह है कि इसके आसपास कोई उचित है, इसके अलावा सवाल में फ़ाइलों और फ़ोल्डरों को जोड़ने के अलावा? सिमिलिंक के माध्यम से सामान को शामिल करना, जैसे कि 10 000 फाइलें हैं, जिनमें से बड़े अनुपात में सिम्बलिंक्स हैं ताकि उन सभी को व्यक्तिगत रूप से जोड़ा जा सके ...

ठीक है, अगर आपके पास पर्याप्त स्थान (और समय) है, तो आप फ़ोल्डर की प्रतिलिपि बना सकते हैं, जिससे उनके लक्ष्यों के साथ सहानुभूति को प्रतिस्थापित किया जा सके। आप उदाहरण के लिए रोबोकॉपी और उसके स्विच का उपयोग कर सकते हैं /sl:

/ sl लक्ष्य के बजाय प्रतीकात्मक लिंक की प्रतिलिपि बनाता है


नोट: भ्रम की स्थिति से बचने के लिए, ध्यान दें कि p7zip (7zip का एक पोर्ट) के लिनक्स बिल्ड में एक बाइनरी भी है 7zजो फ़ाइल को एक प्रतीकात्मक लिंक पॉइंट (स्विच ) को संग्रहीत करने का समर्थन करता है-l । हालाँकि, विंडोज पर 7zip में यह स्विच नहीं है।


क्योंकि यह स्वीकृत उत्तर है, इंगित करना चाहते हैं कि वास्तविक 7zip इसे -lस्विचर द्वारा करता है । ज़िप और gzip भी अपने विशिष्ट आदेशों के साथ करता है।
m3nda

@ erm3nda आप इस स्विच को कहाँ देखते हैं? कृपया, संदर्भ प्रदान करें।
चिह्नित करें

linux.die.net/man/1/7z एक विकल्प एल है, और एक ही अक्षर के साथ एक स्विच भी है। मैंने ध्यान दिया है कि यह विकल्प सॉफ्टवेयर के विंडोज संस्करण में मौजूद नहीं है।
m3nda

@ erm3nda: हाँ, लेकिन यह है कि p7zip, 7zip का एक बंदरगाह है। इस पर ध्यान दिलाने के लिए धन्यवाद; मैंने अपना उत्तर अपडेट कर दिया।
sleske

आपका भी धन्यवाद। विश्वास नहीं कर सकता कि विंडोज इस सुविधा को याद कर रहा है। यहां तक ​​कि अगर विंडोज पर सिम्लिंक काफी भिन्न हैं, तो यह पता लगाने की जरूरत नहीं है कि यह काम करना मुश्किल क्यों है।
m3nda

-1

यदि आप विस्टा और ऊपर का उपयोग कर रहे हैं, तो सीमलिंक हटा दें और उन्हें मकलिंक्स के साथ बदलें

mklink /D Directory FullPathToRealDirectory

ध्यान दें कि mklink बहुत शक्तिशाली है और इसमें नेटवर्क शेयरों और पसंद के लिंक शामिल हो सकते हैं।

चूंकि इस पर कुछ भ्रम की स्थिति है, इसलिए मुझे स्पष्ट करने की अनुमति दें। मैं मान रहा हूँ कि ओपी वास्तव में जूनैक्ट्स के बारे में बात कर रहा है जैसा कि यहाँ सचित्र है http://en.wikipedia.org/wiki/NTFS_junction_point । Mklink जंक्शन नहीं बनाता है । यह TRUE प्रतीकात्मक संबंध बनाता है और मैंने इसे स्वयं आज़माया और 7zip उनका पूरी तरह से सम्मान करता है। इसके अलावा, आपको mklink प्रतीकात्मक लिंक बनाने के लिए व्यवस्थापक होने की आवश्यकता है।

 Directory of C:\temp\t

04/08/2010  04:50 PM    <DIR>          .
04/08/2010  04:50 PM    <DIR>          ..
04/08/2010  04:31 PM    <SYMLINKD>     GB [c:\users\testuser]    <-- created by mklink
04/08/2010  04:50 PM    <JUNCTION>     GB2 [\??\c:\users\testuser] <-- created by junction
04/08/2010  04:29 PM                 8 test.txt

7zip GB को संग्रहित करेगा, लेकिन यह GB2 को संग्रहित नहीं करेगा। संपादित करें: वास्तव में आगे के परीक्षण से पता चलता है कि संस्करण 4.65 का उपयोग करके 7zip दोनों निर्देशिकाओं को संग्रहीत करेगा। इसलिए मुझे कोई सुराग नहीं है कि समस्या क्या है।


1
सभी मूल सिम्बलिंक को Microsoft API और mklik के साथ पहले स्थान पर बनाया गया था, यह एक ही चीज़ को रीमेक करने के अलावा क्या हल करता है?
फायर लांसर

2
-1 समस्या को कैसे हल करता है? आप सिर्फ प्रतीकात्मक लिंक बनाने का वर्णन करते हैं।
sleske

@होवा: हाँ, यह सब सच है (हालाँकि एमएस आमतौर पर केवल प्रतीकात्मक लिंक को "प्रतीकात्मक लिंक" कहते हैं; जंक्शनों को कभी "प्रतीकात्मक लिंक" नहीं कहा जाता है)। लेकिन यह सवाल से कैसे संबंधित है?
sleske

7zip अभिलेखागार SYMLINKD (mklink) निर्देशिका!
होव

1
मैंने अभी विंडोज 7 पर 7zip v15.14 (64 बिट) के साथ कुछ परीक्षण किया था, और ऐसा लगता है कि 7zip अब निर्देशिका सिम्बलिंक का अनुसरण करता है, लेकिन केवल फ़ाइल सिम्फ़िंक्स के लिए एक खाली फ़ाइल संग्रहीत करता है - जो बहुत उपयोगी नहीं है।
बिग्यू नीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.