PowerShell के शेल, बैश और एर cmd.exe की तरह एक इंटरैक्टिव खोल है। और उन शैलियों की तरह यह एक स्क्रिप्टिंग भाषा (केएसएच, बैश, बैच) का समर्थन करता है। हालांकि PowerShell .NET के शीर्ष पर बनाया गया है और .NET प्रकारों का खुलासा करता है और आपको कई .NET प्रकारों को बनाने और कुशल बनाने में मदद करता है। तो आप स्क्रिप्ट बनाने के लिए PowerShell का उपयोग कर सकते हैं जो एक सामान्य .NET कंसोल ऐप कर सकता है।
छोटे उपयोग कंसोल अनुप्रयोगों को लिखते समय विचार करने के लिए एक कारक यह है कि आप & उपयोग कोड को एक्सई के मौलिक उद्देश्य को प्राप्त करने के लिए आवश्यक कोड बनाम कितना प्रयास करते हैं। मैंने पावरशेल स्क्रिप्ट्स के रूप में बहुत सारी उपयोगिताएं लिखने के लिए स्विच किया है क्योंकि पावरशेल बहुत अच्छी सुविधाओं के साथ एक पैरामीटर पार्सिंग इंजन प्रदान करता है: नाम/पोजिशनल पैरामीटर, आवश्यक/वैकल्पिक पैरामीटर, पैरामीटर के लिए डिफ़ॉल्ट मान, पैरामीटर नामों का आंशिक विनिर्देश इत्यादि।
पावरशेल 2.0 उन्नत कार्यों के साथ इस क्षेत्र (सत्यापन गुण आदि) में और भी अधिक सुविधाएं जोड़ता है। आप अपनी स्क्रिप्ट या उन्नत कार्यों के लिए टिप्पणियों के रूप में आसानी से "मैन पेज" लिख सकते हैं। जबकि मैं एक सी # कंसोल ऐप में फ्लैकी, गैर-मानक (क्या यह - या/या दोनों?) पैरामीटर पार्सिंग कोड के साथ अपने समय के 50-80% को गड़बड़ाना करता था, मैंने पावरशेल को मेरे लिए संभालने दिया। हालांकि मुझे विश्वास है कि जैकब यह कहने में सही है कि निचले स्तर के .NET कोड की आवश्यकता वाले जटिल कार्यों को सही (स्थिर संकलन समय जांच) प्राप्त करना आसान होगा और सी #/वीबी/विजुअल स्टूडियो में डीबग करना आसान होगा।
मुझे बीसीएल में .NET प्रकारों के एक सेट के माध्यम से पावरशेल पैरामीटर पार्सिंग कार्यक्षमता को देखना पसंद आएगा, जैसे कि आप एक कंसोल ऐप लिख सकते हैं और पावरशेल की पार्सिंग कार्यक्षमता प्राप्त कर सकते हैं। बहुत समय पहले मैंने चंगेज नामक ओपन सोर्स घटक का इस्तेमाल किया था, लेकिन मुझे लगता है कि इसे छोड़ दिया गया है। .NET 4.0 बीटा के दौरान एक बिंदु पर, कमांड लाइन पार्सर ढांचे में दिखाई दिया लेकिन आरटीएम से पहले हटा दिया गया था। मुझे नहीं लगता कि इस कमांड लाइन पार्सर के पास PowerShell से कोई संबंध था - और इसमें आईएमओ होना चाहिए। तो शायद यह एक अच्छी बात खींच लिया गया था।
स्रोत
2010-09-01 16:50:18
तो मैं वास्तव में यह NET अनुप्रयोगों की तुलना में किया जाना चाहिए, लेकिन बैच फ़ाइलों और VBScript के लिए? –
सही, हालांकि यह वास्तव में सरल, अल्पकालिक .NET कंसोल ऐप्स (जैसे, कहें, सरल फ़ाइल मैनिपुलेशन करता है) के लिए एक अच्छा विकल्प भी है। – Jacob