यह एक चीज है, लेकिन यह काम करता है। यह यूनिक्स शैल की एक शेल फ़ाइल को संसाधित करने के लिए किसी विशेष कमांड को आमंत्रित करने की क्षमता को दोहराने का इरादा रखता है। कर रहे हैं
::#!
लाइन्स ::
के साथ शुरू विंडोज खोल में टिप्पणी है, तो यह सिर्फ एक टिप्पणी है: तो, यहाँ व्याख्या दी गई है।
@echo off
यहां से निष्पादित लाइनें न दिखाएं। शुरुआत में @
यह सुनिश्चित करें कि यह लाइन स्वयं दिखाई नहीं देगी।
call scala %0 %*
scala
स्क्रिप्ट पर निष्पादन स्थानांतरण। %0
का अर्थ है कि इस फ़ाइल का नाम स्वयं (ताकि स्कैला इसे पा सके), और %*
पैरामीटर हैं जो इसके निष्पादन में पारित किए गए थे।
उदाहरण के लिए, ये पंक्तियां count.bat
नामक फ़ाइल में हैं, और आपने count 1 2 3
टाइप करके इसे आमंत्रित किया है। इस मामले में, वह पंक्ति scala count 1 2 3
निष्पादित करेगी - इस स्थिति में आपको एक त्रुटि मिलेगी। आपको count.bat
टाइप करके इसे आमंत्रित करना होगा।
goto :eof
स्क्रिप्ट निष्पादित करना समाप्त करें।
::!#
एक और टिप्पणी पंक्ति।
तो, यहाँ है चाल ... स्काला, एक बार लागू, पहले तर्क के रूप में पारित कर दिया फ़ाइल मिलेगा, तो देखें कि पहली पंक्ति ::#!
है, लाइन ::!#
यदि ऐसा है तो अप करने के लिए सब कुछ पर ध्यान न दें, और उसके बाद बाकी निष्पादित फ़ाइल (::!#
के बाद लाइनें) स्कैला स्क्रिप्ट के रूप में।
दूसरे शब्दों में, यह विंडोज़ शैल नहीं है जो स्मार्ट है, यह स्कैला है। :-)
स्रोत
2011-07-13 01:24:29
वही तर्क इस जावास्क्रिप्ट बैच फ़ाइल में उपयोग किए जाते हैं http://stackoverflow.com/questions/4999395/how-does-this-windows-batch-file-work –