2011-07-12 10 views
9

स्कैला में प्रोग्रामिंग में, यह बैच फ़ाइलों (link) से स्कैला स्क्रिप्ट को चलाने के तरीके पर एक विवरण देता है।विंडोज बैच फ़ाइलों में स्कैला स्क्रिप्ट

विंडोज

::#! 
    @echo off 
    call scala %0 %* 
    goto :eof 
    ::!# 

के लिए मैं ::#! googling समस्या आ रही है। इसका क्या मतलब है? मुझे पता है कि :: एक टिप्पणी को दर्शाता है और यूनिक्स #! में उपयोग करने के लिए खोल की दिशा है, लेकिन यह वास्तव में यहां क्या है? और ::!#?

%0 %* का अर्थ वास्तव में क्या है, और क्या इसे इस तरह व्यक्त करना आवश्यक है?

क्या एक ही बैच फ़ाइल से कई स्क्रिप्ट चलाने के लिए संभव है?

उत्तर

15

यह एक चीज है, लेकिन यह काम करता है। यह यूनिक्स शैल की एक शेल फ़ाइल को संसाधित करने के लिए किसी विशेष कमांड को आमंत्रित करने की क्षमता को दोहराने का इरादा रखता है। कर रहे हैं

::#! 

लाइन्स :: के साथ शुरू विंडोज खोल में टिप्पणी है, तो यह सिर्फ एक टिप्पणी है: तो, यहाँ व्याख्या दी गई है।

@echo off 

यहां से निष्पादित लाइनें न दिखाएं। शुरुआत में @ यह सुनिश्चित करें कि यह लाइन स्वयं दिखाई नहीं देगी।

call scala %0 %* 

scala स्क्रिप्ट पर निष्पादन स्थानांतरण। %0 का अर्थ है कि इस फ़ाइल का नाम स्वयं (ताकि स्कैला इसे पा सके), और %* पैरामीटर हैं जो इसके निष्पादन में पारित किए गए थे।

उदाहरण के लिए, ये पंक्तियां count.bat नामक फ़ाइल में हैं, और आपने count 1 2 3 टाइप करके इसे आमंत्रित किया है। इस मामले में, वह पंक्ति scala count 1 2 3 निष्पादित करेगी - इस स्थिति में आपको एक त्रुटि मिलेगी। आपको count.bat टाइप करके इसे आमंत्रित करना होगा।

goto :eof 

स्क्रिप्ट निष्पादित करना समाप्त करें।

::!# 

एक और टिप्पणी पंक्ति।

तो, यहाँ है चाल ... स्काला, एक बार लागू, पहले तर्क के रूप में पारित कर दिया फ़ाइल मिलेगा, तो देखें कि पहली पंक्ति ::#! है, लाइन ::!# यदि ऐसा है तो अप करने के लिए सब कुछ पर ध्यान न दें, और उसके बाद बाकी निष्पादित फ़ाइल (::!# के बाद लाइनें) स्कैला स्क्रिप्ट के रूप में।

दूसरे शब्दों में, यह विंडोज़ शैल नहीं है जो स्मार्ट है, यह स्कैला है। :-)

2

% 0 प्रोग्राम नाम (स्क्रिप्ट फ़ाइल नाम शायद) के लिए इंगित करता है,% * कमांड लाइन पैरामीटर सूची के लिए इंगित करता है। % 1 का मतलब पहला पैरामीटर है ...

+0

वही तर्क इस जावास्क्रिप्ट बैच फ़ाइल में उपयोग किए जाते हैं http://stackoverflow.com/questions/4999395/how-does-this-windows-batch-file-work –

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