2009-05-30 6 views
12

मैं सी # में सरल लिपियों को लिखना चाहता हूं। सामग्री मैं सामान्य रूप से .bat या 4NT .btm फ़ाइलों का उपयोग करता हूं। फ़ाइलों की प्रतिलिपि बनाना, टेक्स्ट पार्स करना, उपयोगकर्ता इनपुट पूछना आदि। काफी सरल लेकिन बैच फ़ाइल में यह सामान सही करना वास्तव में कठिन है (उदाहरण के लिए कोई अपवाद नहीं है)।सी # में बैच स्क्रिप्ट लिखने का एक अच्छा तरीका क्या है?

मैं एक्सस्क्रिप्ट जैसे कमांड लाइन "स्क्रिप्टिंग" रैपर से परिचित हूं ताकि मुझे वहां से रास्ते का हिस्सा मिल सके। जो मैं याद कर रहा हूं वह आसान फ़ाइल-मैनिपुलेशन फ्रेमवर्क है। मैं सीडी ("..") करने में सक्षम होना चाहता हूं, कॉपी (srcFile, destFile) प्रकार कार्यक्षमता।

उपकरण मैं कोशिश की है:

  • NANT, जो हम अपने निर्माण प्रक्रिया में इस्तेमाल करते हैं। एक अच्छा स्क्रिप्टिंग उपकरण नहीं है। बेहद वर्बोज़ एक्सएमएल सिंटैक्स और एक साधारण फ़ंक्शन जोड़ने के लिए आपको एक एक्सटेंशन असेंबली लिखनी होगी। इनलाइन नहीं कर सकते हैं।

  • पावरशेल। अच्छा लग रहा है, लेकिन मैं बस इसे अपने प्राथमिक खोल के रूप में स्विच करने में सक्षम नहीं हूं। 4NT से बहुत अधिक मतभेद। मुझे जो भी करना है, उसे सामान्य कमांड प्रॉम्प्ट से चलाने की आवश्यकता होती है और उसे चलाने के लिए एक विशेष खोल की आवश्यकता नहीं होती है। क्या PowerShell को स्क्रिप्ट निष्पादक के रूप में उपयोग किया जा सकता है?

  • पर्ल/पायथन/रूबी। वास्तव में बैच फ़ाइल संचालन करने के लिए पूरी तरह से नई भाषा और ढांचे को सीखने से नफरत है। मुझे ऐसा करने के लिए आवश्यक समय समर्पित करने में सक्षम नहीं है। इसके अलावा, हम अपने टूलचेन के लिए 99% .NET दुकान हैं और मैं वास्तव में हमारे मौजूदा अनुभव और कोडबेस का लाभ उठाना चाहता हूं।

क्या वहां ऐसे ढांचे हैं जो "सी # में बैच फ़ाइल बनाने" की समस्या को हल करने की कोशिश कर रहे हैं?

मैं एक सामान्य cmd.exe खोल भाषा की तत्काल-मोड प्रकार की कार्यक्षमता के साथ सी #/.NET की शक्ति चाहता हूं। क्या मैं अकेले ऐसा कुछ चाहता हूं?

+1

आप निश्चित रूप से PowerShell में पटकथा कर सकते हैं, और यह आप सभी .नेट फ्रेमवर्क एपीआई जो आप चाहते देता है। दुर्भाग्यवश, इसमें एक गैर-तुच्छ सीखने की वक्र है। – Bruce

उत्तर

26

मैं पावरशेल चिंता से अधिक होने की कोशिश करता हूं क्योंकि यह भविष्य का खोल है। माइक्रोसॉफ्ट से बाहर आने वाले सभी सॉफ्टवेयर इसे अपने प्रबंधन इंटरफ़ेस के रूप में उपयोग कर रहे हैं और विशेष रूप से संस्करण 2.0 हास्यास्पद रूप से उपयोगी है।

मैं ज्यादातर समय सी # डेवलपर हूं लेकिन पावरशेल ने हल किया है कि अस्थायी परियोजनाओं की पूरी "WindowsAplication 42" समस्या हल हो गई है। पावरशेल आपको कमांड लाइन शैल में .NET Framework तक पूर्ण पहुंच प्रदान करता है, भले ही आपको PowerShell में कुछ कैसे करना है, आपको शायद यह पता न हो कि .NET में इसे कैसे किया जाए।

+1

अच्छी तरह से कहा और पूरी तरह से सहमत हैं। पावरहेल 2.0 पर –

+1

+1 बहुत उपयोगी है। शामिल आईएसई अकेले इसके लायक है। –

+0

बेचा गया। आपका जवाब और जॉन रॉबिन्स के ब्लॉग ने अंततः मुझे विश्वास दिलाया है। :) http://www.wintellect.com/cs/blogs/jrobbins/archive/2008/02/17/eight-weeks-of-powershell.aspx – scobi

3

आयरनपीथन और आयरनआरबी आपको अपने सभी .NET "अनुभव और कोडबेस" का लाभ उठाने दें (हालांकि वे नई भाषाओं को सीखने के लिए आपके आपत्ति का उत्तर नहीं देते हैं)।

2

यदि आपके पास कोई बैश नर्स हैं, तो आप हमेशा cygwin आज़मा सकते हैं।

यह भी याद रखें कि पायथन मूल रूप से "गोंद" लैंगेज के रूप में लक्षित था। यदि आपने उपरोक्त IronPython का उपयोग किया है, तो प्री-लिखित सी # कक्षाओं को एकसाथ जोड़ना बहुत आसान है।

+0

बैश या Windows पर उन के गोले में से किसी वास्तव में कठिन है। कई बार कोशिश की है और मैं/बनाम \ मुद्दा पर खराब हो रहा है। :(तो यह लगता है कि IronPython और Powershell अब तक सबसे अच्छा विकल्प हैं। – scobi

1

यदि आप एमएस से बंधे हैं, तो PowerShell निश्चित रूप से जाने का तरीका है। लेकिन मुझे यह बहुत पसंद नहीं है।

मैं व्यक्तिगत रूप से एमएसबील्ड स्क्रिप्ट का अधिक उपयोग करता हूं, और मोनो सी # शेल एक दिन विंडोज़ में देखना चाहता हूं।

+0

क्या "MSBuild स्क्रिप्ट" क्या है? तुम सिर्फ एक्सएमएल सामान मतलब है? क्योंकि यह सुपर वर्बोज़, हार्ड printf-डिबगिंग के बाहर डिबग करने के लिए मुश्किल का विस्तार करने के लिए है। .. लेकिन मोनो सी # शैल के संदर्भ के लिए धन्यवाद! मैं भी मोनो जाँच करने के लिए नहीं सोचा था, लेकिन यह समझ में आता है कि वे कुछ इस तरह की है चाहते हैं। जीयूआई जाहिरा तौर पर विंडोज लेकिन कमांड लाइन संस्करण पर काम करने के लिए नहीं जा रहा है पूरी तरह से पोर्टेबल होना चाहिए। यह (बैच स्क्रिप्ट) इस सवाल में समस्या मैं का समाधान नहीं होगा, लेकिन यह सामान्य रूप में वास्तव में उपयोगी लग रहा है। मैं इसे बाहर, फिर से जांच करेंगे धन्यवाद! – scobi

+0

मैं MSBuild के लिए एक बड़ा डिबगर की जरूरत नहीं है स्क्रिप्ट्स, इसलिए मैं इसे चुनता हूं, http://blogs.msdn.com/parthopdas/archive/2007/12/01/visual-debugger-for-msbuild-projects.aspx –

1

मुझे लगता है कि CS-Script आपके लिए आदर्श समाधान हो सकता है।

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

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