2012-04-23 9 views
7

मैं कई .psm1 फ़ाइलों में कार्यों को संगठित करने और उन्हें एक एकल मॉड्यूल मालसूची फ़ाइल द्वारा लोड करना चाहते हैं का उपयोग कर (.psd1) - जैसे केवल कि .psd1 फ़ाइल को मॉड्यूल के समान नाम होने की आवश्यकता होगी।लोड एकाधिक मॉड्यूल (.psm1) एक एकल psd1 फ़ाइल

मुझे लगता है कि यह संभव होना चाहिए। क्या कोई मेरी यह मदद कर सकता है ?

उत्तर

11
  1. लॉन्च Powershell आईएसई
  2. उपयोग करके स्वयं भी उन्हें लोड कर सकते हैं New-ModuleManifest कमांड
  3. यहां दिए गए निर्देशों का पालन करें - How to Write a Module Manifest। जब के रूप में Modulepath\Modulename.psm1
  4. अंत मॉड्यूल में नेस्टेड मॉड्यूल, कुंजी के लिए कहा, एक बार .psd1 फ़ाइल बनाया जाता है, लोड/आयात इसे प्रयोग Import-Module <<module-name>>
+1

ध्यान दें कि 'नेस्टेड मॉड्यूल' पथ में पथ सापेक्ष पथ हो सकते हैं। मेरे परीक्षण से, ये 'psd1' फ़ाइल के सापेक्ष हैं। – jpmc26

4

आप अपने मुख्य मॉड्यूल psm1 आयात-मॉड्यूल कॉल का उपयोग फ़ाइल में या मैनिफ़ेस्ट फ़ाइल में NestedModules कुंजी में उन्हें निर्दिष्ट करने (psd1)

+1

उत्तर के लिए धन्यवाद। क्या आप नेस्टेड मॉड्यूल भाग के लिए एक छोटा सा नमूना प्रदान करना चाहते हैं? –

+0

साथ ही, मैन्युअल रूप से एक .psm1 फ़ाइल में आयात मॉड्यूल कॉल डालने से थोड़ा त्रुटि प्रवण होगी क्योंकि --- यदि अलग-अलग .psm1 फ़ाइल के अंदर दो समान बाल मॉड्यूल दोहराए जाते हैं और मैं मुख्य में से किसी एक पर निकालें-मॉड्यूल करता हूं। पीएसएम 1 जिसमें बाल मॉड्यूल शामिल है? यह बाल मॉड्यूल को हटा देगा जो अन्य मुख्य .psm1 का भी जिक्र कर रहा है। मुझे पता है कि यह थोड़ा सा कल्पित है, लेकिन अभी भी एक मान्य है। –

+0

आपको मॉड्यूल फ़ोल्डरों को अपनी मुख्य मॉड्यूल निर्देशिका के अंदर रखना होगा और नेस्टेड मॉड्यूल कुंजी में अपने सापेक्ष पथ को जोड़ना होगा: NestedModules = @ ('मॉड्यूल 1 \ मॉड्यूल 1.psm1', 'मॉड्यूल 2 \ मॉड्यूल 2.psm1') –

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