2012-06-13 16 views
18

मुझे एनएसआईएस का उपयोग करके निर्देशिका की प्रतिलिपि बनाने के तरीके के बारे में कोई जानकारी नहीं मिल रही है?, मुझे पता है कि एक फ़ाइल कमांड है लेकिन निर्देशिका की प्रतिलिपि बनाने के लिए कोई आदेश है।एनएसआईएस का उपयोग कर एक निर्देशिका की प्रतिलिपि बनाएँ।

उत्तर

22

सिंटैक्स निर्देशिका और फ़ाइल दोनों के लिए समान है, सिवाय इसके कि आपको एक निर्देशिका प्रदान करके एक निर्देशिका निर्दिष्ट करने की आवश्यकता हैअंत में 0। File कमांड निर्देशिका की प्रतिलिपि बनाता है यदि निर्दिष्ट तर्क निर्देशिका है। उदाहरण के लिए, आप कर सकते हैं:

SetOutPath "outputPath" 
File "myDirectory\" #note back slash at the end 

लेकिन यह केवल शीर्ष स्तर की निर्देशिका की प्रतिलिपि बनाता है। रिकर्सिवली यह करने के लिए, आप /r स्विच

SetOutPath "outputPath" 
File /nonfatal /a /r "myDirectory\" #note back slash at the end 

जो प्रतियां myDirectory (लेकिन myDirectory नहीं फ़ोल्डर को स्वयं) की सामग्री की है। /nonfatal कोई विशेष निर्देशिका नहीं होने पर त्रुटि के बिना अनदेखा करता है। /a प्रतिलिपि फ़ाइल विशेषताएँ भी कॉपी करता है। फ़ाइलों को बाहर करने के लिए /x स्विच का उपयोग किया जाता है।

अन्यथा,

SetOutPath "outputPath\myDirectory" 
File /nonfatal /a /r "myDirectory\" #note back slash at the end 

प्रतियां outputPath करने के लिए myDirectory फ़ोल्डर सहित myDirectory की सभी सामग्री।

+1

धन्यवाद! आखिरी उदाहरण हालांकि काम नहीं कर रहा है ... फ़ोल्डर बनाने के लिए, मुझे SetOutPath $ INSTDIR \ myDirectory और फिर फ़ाइल/ए/आर "myDirectory \" – werner

+0

@nawfal का उपयोग करना है, आपको बहुत कुछ धन्यवाद अंत में '\' पर जोर देना। यह मुझे पागल बना रहा था!! मैंने एनएसआईएस दस्तावेज में संदर्भित कुछ भी नहीं देखा। – Damian

+0

यह कहना महत्वपूर्ण है कि इसका दुष्प्रभाव होगा क्योंकि संकलन चरण पर संस्थापक के अंदर निर्देशिका को पैक करता है। – Andry

4

मुझे पता चला कि यह कैसे करें, परेशानी के लिए खेद है।

एक निर्देशिका के लिए फ़ाइलों को जो मौजूद नहीं कर सकते पहले से

CreateDirectory $Installdir\extracting 

SetOutPath $Installdir\extracting 

File Directory\* 
+2

'SetOutPath' पहले ही पास की गई निर्देशिका और उपनिर्देशिकाएं बनाता है, इसलिए पहले CreateDirectory को कॉल करना जरूरी नहीं है। – Claudix

3

File अनुदेश अपने संस्थापक से फ़ाइलों और CopyFiles प्रतियां फ़ाइलों और/या निर्देशिका कि पहले से ही अंत उपयोगकर्ताओं प्रणाली पर मौजूद अर्क निकालें (आप $ EXEDIR का उपयोग कर सकते हैं यदि आपको एक डीवीडी से फ़ाइलों को कॉपी करने की आवश्यकता है जहां आपका इंस्टॉलर भी स्थित है ...)

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