एक और अधिक उन्नत उदाहरण:
Ments असीमित तर्क।
⍟ फाइल सिस्टम (या तो पर मौजूद हैं file
या directory
?) या एक सामान्य string
।
⍟ निर्दिष्ट करें कि क्या फ़ाइल है
⍟ निर्दिष्ट एक निर्देशिका है
⍟ कोई एक्सटेंशन, विरासत लिपियों में काम करेगा!
⍟ न्यूनतम कोड ☺
@ तो बंद
: पाश
:: -------------------------- तर्क है?
अगर ["% ~ 1"] == [""] (
प्रतिध्वनि हुई।
गोटो अंत
)
:: -------------------------- तर्क मौजूद है?
यदि% s1 मौजूद नहीं है (
गूंज मौजूद नहीं है
) अन्य (
प्रतिध्वनि मौजूद है
यदि% ~ s1 \ NUL मौजूद है (
गूंज एक निर्देशिका है
) अन्य (
इको एक फाइल है
)
)
:: --------------------------
खिसक जाना
गोटो लूप
:समाप्त
ठहराव
✨ अन्य सामान..✨
■ में %~1
- ~
किसी भी लपेट को हटा देता है "
या '
।
■ में %~s1
- s
पथ बनाता है DOS 8.3 naming
, जो सामान की जाँच करते समय फ़ाइल-नाम में रिक्त स्थान से बचने के लिए एक अच्छी चाल है (और इस तरह से अधिक "
एस के साथ संसाधन को लपेटने की कोई आवश्यकता नहीं है ।
["%~1"]==[""]
"यदि यह सुनिश्चित नहीं किया जा सकता" ■ यदि तर्क एक फ़ाइल / निर्देशिका या अभी तक एक सामान्य स्ट्रिंग है, तो इसके बजाय अभिव्यक्ति कोष्ठक और मूल अनमॉडिफ़ाइड का उपयोग करता है %1
(बस "
रैपिंग के बिना , यदि कोई हो ..)
अगर हमारे द्वारा उपयोग किए गए कोई तर्क नहीं थे shift
और arg-list सूचक पिछले एक को पारित कर चुका है, तो अभिव्यक्ति का मूल्यांकन किया जाएगा [""]==[""]
।
■ यह उतना ही विशिष्ट है जितना आप अधिक तरकीबों का उपयोग किए बिना कर सकते हैं (यह विंडोज़ -95 की बैच-स्क्रिप्ट में भी काम करेगा ...)
■ निष्पादन उदाहरण
इसे के रूप में सहेजें identifier.cmd
यह एक असीमित तर्कों की पहचान कर सकता है (आम तौर पर आप %1
- तक सीमित हैं %9
), बस उल्टे-अल्पविरामों के साथ तर्कों को लपेटने के लिए याद रखें, या 8.3 नामकरण का उपयोग करें, या उन्हें ऊपर खींचें (इसे स्वचालित रूप से या तो ऊपर करता है)।
यह आपको निम्नलिखित कमांड चलाने की अनुमति देता है:
Get identifier.cmd c:\windows
और पाने के लिए
मौजूद
एक निर्देशिका है
किया हुआ
Get identifier.cmd "c:\Program Files (x86)\Microsoft Office\OFFICE11\WINWORD.EXE"
और पाने के लिए
मौजूद
एक फाइल है
किया हुआ
Ments और कई तर्क (बेशक यह पूरी डील है ..)
identifier.cmd c:\windows\system32 c:\hiberfil.sys "c:\pagefile.sys" hello-world
और पाने के लिए
मौजूद
एक निर्देशिका है
मौजूद
एक फाइल है
मौजूद
एक फाइल है
मौजूद नहीं
किया हुआ।
स्वाभाविक रूप से यह बहुत अधिक जटिल हो सकता है,
लेकिन अच्छे उदाहरण हमेशा सरल और न्यूनतम होने चाहिए। :)
आशा है कि यह किसी को भी मदद करता है :)
यहाँ प्रकाशित: सीएमडी निंजा - असीमित तर्क प्रसंस्करण, फ़ाइल-सिस्टम में मौजूद है, यदि फ़ाइल या निर्देशिका की पहचान करना
और यहाँ एक कार्यशील उदाहरण है जो एपीके फ़ाइलों (एंड्रॉइड ऐप) की किसी भी राशि को लेता है और उन्हें आपके डिवाइस पर डिबग-कंसोल (ADB.exe) के माध्यम से इंस्टॉल करता है: पिछले पोस्ट को एक बड़े पैमाने पर एपीके
APK इंस्टालर बनाएं जो एडीबी इंस्टॉल-मल्टी सिंटैक्स का उपयोग नहीं करता है