विंडोज ऑटोमेशन के लिए कौन सी स्क्रिप्टिंग भाषाएँ उपयोगी हैं?
विंडोज ऑटोमेशन के लिए कौन सी स्क्रिप्टिंग भाषाएँ उपयोगी हैं?
जवाबों:
विंडोज 7 और सर्वर 2008 के रूप में यह विंडोज के साथ जहाज के रूप में PowerShell पर विचार करने के लिए उचित है, और यह Lync और Exchange जैसे सर्वर सॉफ़्टवेयर को संचालित करने के लिए भी मौलिक है क्योंकि उनके लिए उपलब्ध कमांड का एक पूरा सेट है। उपलब्ध सुविधाओं की एक बढ़ती हुई सूची है, विवरण के लिए स्क्रिप्ट केंद्र देखें।
Windows स्क्रिप्ट होस्ट (WSH) तकनीकी रूप से ActiveX स्क्रिप्टिंग इंजन के लिए स्क्रिप्टिंग होस्ट है। VBScript और JScript (Microsoft का जावास्क्रिप्ट के कार्यान्वयन) डिफ़ॉल्ट रूप से स्थापित दो इंजन हैं। कई अन्य खुले स्रोत के रूप में उपलब्ध हैं, जिनमें पर्ल, पीएचपी और रूबी शामिल हैं।
VB6 और VB.NET के समान सिंटैक्स का उपयोग करते हुए, VBScripts में .NET क्लास के लिए आसान पहुँच की कमी होती है (Powershell .NET पर लिखा गया है, इसलिए इसमें सभी .NET फ़ंक्शन तक पहुंच है)। VBScript ज्यादातर WMI सेवा और इसके द्वारा उजागर की जाने वाली वस्तुओं का लाभ उठाती है।
उदाहरण: यह एक पुनर्स्थापना बिंदु बनाता है।
Set wmi, whatName, errResults
wmi = GetObject("winmgmts:\\.\root\default:Systemrestore")
whatName = InputBox("Enter a name for the Restore Point",WScript.ScriptName)
errResults = wmi.CreateRestorePoint (whatName, 12, 100)
If errResults <> 0 then
Wscript.Echo "Error " & errResults & " : Unable to create Restore Point"
End If
आप ECMAScript का उपयोग करके समान स्क्रिप्ट भी लिख सकते हैं:
var wmi = WScript.GetObject("winmgmts:\\.\root\default:Systemrestore");
var whatName = WSHInputBox("Enter a name for the Restore Point",Script.ScriptName);
var errResults = wmi.CreateRestorePoint(whatName, 12, 100);
if(errResults != 0) {
WScript.Echo("Error "+ err + " : Unable to create Restore Point");
}
बेशक अच्छा राजभाषा 'बैच फ़ाइल है। उन्हें किसी परिचय की आवश्यकता नहीं है।
मैं अभी भी विंडोज 7 में भी डॉस बैच फाइलें लिखता हूं। अधिकांश कार्यों के लिए, यह अभी भी काफी अच्छी तरह से काम करता है, और इसके साथ काम करना बहुत सरल है (साथ ही, कई डॉस कमांड जैसे "फॉर" को समय के साथ बेहतर किया गया है और अधिक प्रदान करता है। विकल्प और कार्यक्षमता जो एक दशक पहले उपलब्ध नहीं थे)।
मेरे लिए, एक डॉस बैच फ़ाइल अभी भी विंडोज के लिए मुख्य स्क्रिप्टिंग भाषा है (यह निश्चित रूप से पारंपरिक है), लेकिन हर किसी की ज़रूरतें और प्राथमिकताएं अलग-अलग होती हैं। कई चीजें हैं जो डॉस बैच की फाइलें नहीं कर सकती हैं (स्क्रिप्टिंग भाषाएं भी सीमाओं को रोक सकती हैं), और उन दुर्लभ अवसरों के लिए जहां मैंने इसका सामना किया है, तब मैं देखता हूं कि मेरे अन्य विकल्प क्या हैं (अक्सर यह पर्ल है, या कभी-कभी यह हो सकता है) एक छोटा कार्यक्रम या एक संपूर्ण आवेदन लिखना)।
यह समझने के लिए कि आपको किन साधनों को पूरा करने की आवश्यकता है, यह तय करना एक महत्वपूर्ण कदम है कि किस उपकरण का उपयोग किया जाए। साधनों के साथ परिचित एक और महत्वपूर्ण पहलू है जो आपके विकल्पों को सीमित कर सकता है। यदि आप यह जानने की कोशिश कर रहे हैं कि कौन सी स्क्रिप्टिंग [या प्रोग्रामिंग] भाषा सीखने के लिए है, तो उम्मीद है कि यह आपके लिए उपयोगी होगी।
cmd
वास्तव में एक राक्षसी है, आसानी से काम करने वाली शेल स्क्रिप्टिंग भाषा है जिसे मैंने कभी भी उपयोग करने का दुर्भाग्य पाया है।
यह इस बात पर निर्भर करता है कि आप किससे पूछते हैं। कुछ कभी भी बैच नहीं छोड़ेंगे, कुछ प्यार की वसीयत करते हैं, कुछ प्यार की शक्तियां, दूसरों की तरह AutoIt। फिर पायथन और पर्ल जैसे प्लेटफ़ॉर्म स्वतंत्र हैं जो कुछ के लिए कसम खाएंगे।
मुझे लगता है कि विंडोज के लिए आधिकारिक स्क्रिप्टिंग "भाषा" (और Win95 के बाद से) होगी विंडोज स्क्रिप्ट होस्ट ।
तकनीकी रूप से, WSH स्वयं के लिए एक भाषा नहीं है, बल्कि एक वातावरण (GUI नहीं) है, जो COM इंटरफेस को उजागर करता है , जिससे आप OS चीजों को करने के लिए (लगभग) जो भी स्क्रिप्टिंग भाषा चाहते हैं, का उपयोग करने की अनुमति दे सकते हैं, यहां तक कि उन चीजों का भी जिनके पास कोई मूल तरीका नहीं है। भाषा (उदाहरण के लिए, रूबी के पास विंडोज या टीसीएल / टीके में लॉग-इन करने का कोई अंतर्निहित तरीका नहीं है, रन डायल दिखाने का कोई अंतर्निहित तरीका नहीं है)।
आपने कुछ डब्ल्यूएसएफ फाइलें देखी होंगी जिनमें एक फाइल में कई भाषाएं शामिल हो सकती हैं, लेकिन आमतौर पर डब्ल्यूएसएच लिपियों को एक भाषा में लिखा जाता है और उस भाषा के स्क्रिप्टिंग संस्करण के लिए इसी एक्सटेंशन के साथ वितरित किया जाता है (उदाहरण के लिए वीबीएस विजुअलबिसिक स्क्रिप्ट्स, पायस फॉर पियोनस्क्रिप्ट्स, आदि। ।)
मैं कहूंगा कि AutoIt, यह खिड़कियों पर बहुत तेज और आसान विकास प्रदान करता है और इसके साथ बहुत तंग है। इसका मतलब यह है कि आमतौर पर अन्य भाषाओं में अधिक कोड लेने वाले कार्यों का शाब्दिक रूप से ऑटोिट में एक लाइन में किया जा सकता है। निर्वासन के लिए प्रत्यक्ष संकलन जैसी सुविधाएँ भी बहुत उपयोगी हैं।
इस प्रश्न में बताई गई अन्य भाषाएं (VbScript, PowerShell, Batch) बहुत लोकप्रिय और समर्थित हैं। यदि आप पहले से ही एक स्क्रिप्टिंग भाषा जानते हैं और इसके साथ सहज महसूस करते हैं - तो किसी भी तरह से।
यदि आप एक नई भाषा चुनने के लिए निवेश करने वाले हैं, तो मैं आपके लिए दो भाषाओं का सुझाव दूंगा, आप जो काम करना चाहते हैं, उस पर निर्भर करता है:
JavaScript (WSH के माध्यम से) - यदि आप विभिन्न ऑटोमेशन ऑब्जेक्ट का उपयोग करके उन्हें इंस्टेंट करके और उनके ऑब्जेक्ट मॉडल में कॉल करना चाहते हैं, तो JavaScript का उपयोग करें। आप Exchange Server से WMI से Office दस्तावेज़ों तक, बहुत अधिक सब कुछ के लिए एक स्वचालन ऑब्जेक्ट बना सकते हैं। Visual Studio (/ x तर्क के साथ) डिबग समर्थन है। साथ ही, जावास्क्रिप्ट में निवेश HTML में उपयोगी साबित होगा।
पर्ल - पर्ल का उपयोग करें यदि आप अन्य प्रोग्राम लॉन्च कर सकते हैं, उनके आउटपुट में हेरफेर कर सकते हैं, नियमित अभिव्यक्ति कर सकते हैं। हालांकि ऐसा लगता है कि यह भाषा वर्तमान में गिरावट में है, यह अभी भी एक बहुत लोकप्रिय है, एक बड़ी सामुदायिक भाषा के साथ बहुत अच्छी तरह से समर्थित है। आपको अन्य सेवाओं के साथ संवाद करने के लिए भी इस भाषा पर विचार करना चाहिए (जरूरी नहीं कि विंडोज), जैसे एंटरप्राइज़ पर एक JIRA, या अमेज़न पर EC2। ईपीआईसी के साथ ग्रहण में डिबगिंग का समर्थन किया जाता है, जो एक अच्छा आईडीई वातावरण (सिंटैक्स रंग, आदि) भी है। CPAN में हर चीज के लिए मॉड्यूल हैं। गैर विंडोज मशीनों पर स्वचालन करने के दौरान पर्ल ज्ञान उपयोगी साबित होगा।
शुरुआती दिनों में, शुद्ध विंडोज 7 और सर्वर 2008 R2 के साथ कॉर्पोरेट वातावरण में बैच के बाद VBScript थी, नई स्क्रिप्टिंग भाषा पॉवर्सशेल बहुत अधिक ध्यान आकर्षित कर रही है।
यदि आप कुछ पर्ल स्क्रिप्ट लिखने के लिए हैं, तो मैं पर्ल के लिए दूसरा सुझाव देता हूं। जिन लोगों के साथ मैं काम करता हूं, वे सीएलआर स्क्रिप्ट (थोड़ा पुराना) का सफलतापूर्वक उपयोग और अनुशंसा करते हैं , और वेब इंटरैक्शन, iMacros की स्क्रिप्टिंग के लिए
यह लगभग कुछ भी हो सकता है, यह निर्भर करता है कि आप क्या करने की कोशिश करते हैं। यह बैच फ़ाइलों और पॉवरशेल से ऑटोहोटकी और सेलेनियम (यदि आपको कुछ GUI संबंधित कार्यों को स्वचालित करने की आवश्यकता है) से भिन्न होगा।
आमतौर पर यह एक सीखने की समस्या नहीं है, अगर आपको कुछ संशोधनों को जोड़ने या पहले से लिखी गई स्क्रिप्ट का समर्थन करने की आवश्यकता है। यदि आपको कुछ नया विकसित करने की आवश्यकता है - आवश्यकताओं के आधार पर भाषा / तरीका चुनें, और जो आप पहले से जानते हैं।