मेरे पास स्पेस की तुलना में अल्पविराम के विषय पर, प्रश्नों को सीमित करने में विषय पर कुछ प्रश्न हैं।cmd-comma अलग पैरामीटर के लिए अंतरिक्ष की तुलना में?
वे प्रश्न हैं जो C प्रोग्रामर cmd शीघ्र से परिचित, पर कुछ प्रकाश फेंक करने में सक्षम हो सकता है ..
मुझे पता है कि जब
c:\>program a b c
कर 4 मानकों [0]=program
[1]=a
[2]=b
[3]=c
देखते हैं
hh ntcmds.chm
अवधारणाओं के अनुसार ..
शैल सिंहावलोकन
; and , are used to separate parameters
; or , command1 parameter1;parameter2 Use to separate command parameters.
मैं dir a,b
देखते हैं,
c:\>program a,b,c
देता पैरामीटर [0] = कार्यक्रम [1] = ए, बी के रूप में dir a b
लेकिन
एक ही परिणाम देता है गतो कुछ करो? या सब? विंडोज आदेश का उपयोग करें; तथा , ? और क्या वह प्रत्येक आदेश के कोड के भीतर व्याख्या है, या शैल द्वारा अंतरिक्ष के साथ किया जाता है?
और यदि यह प्रत्येक कमांड के कोड में है .. मुझे कैसे पता चलेगा कि यह कौन सा करता है? मुझे पता है कि explorer.exe का दस्तावेज अल्पविराम का उल्लेख करता है, उदाहरण के लिए। आप explorer /e,.
लेकिन डीआईआर/कर सकते हैं? इसका जिक्र नहीं है, लेकिन इसका उपयोग कर सकते हैं। और एक ठेठ सी प्रोग्राम बिल्कुल एक डिलीमीटर के रूप में नहीं लेता है .. तो क्या यह मामला है कि खोल कम से कम अल्पविराम का उपयोग नहीं करता है, यह अंतरिक्ष का उपयोग करता है। और विंडोज़ कमांड जो करते हैं, ऐसा करते हैं 'क्या वे हैं (सभी?) कॉमा का इस्तेमाल होने पर शैल ने उन्हें दिए गए पैरामीटर को सीमित करने के लिए लिखा है?
आप कैसे बता सकते हैं कि खोल द्वारा क्या किया जाता है, और एमएस सी रनटाइम या मानक lib द्वारा क्या किया जाता है? मेरे पास विंडोज़ सी प्रोग है जिसमें #include शीर्ष पर, और argv प्रदर्शित करने के लिए कोड है। जीसीसी के साथ संकलित। मैं एक तरीका नहीं देख सकता जो मैं देख सकता हूं कि कौन सा "पैरामीटरकरण" खोल से किया जाता है और जो मानक पुस्तकालय से स्वचालित होता है। साथ ही, मुझे लगता है कि अल्पविराम बाहरी प्रोग्राम xcopy या telnet के लिए काम नहीं करता है। मुझे लगता है कि मैंने इसे rundll32 के लिए देखा है। मुझे लगता है कि यह सिर्फ कुछ है। सार्वजनिक रूप से उपलब्ध लाइब्रेरी में कोई फ़ंक्शन नहीं हो सकता है! हो सकता है कि यह केवल असाधारण ext प्रोग्राम cmd.exe –
barlop
के आंतरिक cmds को अपनाने के लिए कर रहा है, सबकुछ एमएस सी रनटाइम द्वारा खोल कार्यक्षमता को छोड़कर किया जाता है। शेल कार्यक्षमता में पुनर्निर्देशन ('<', '> ', आदि' >> '), पाइपिंग (' | '), प्रवाह नियंत्रण (' && 'और' || ') और भागने ('^') जैसी चीजें शामिल हैं। जैसा कि मैंने कहा है, मैंने कभी ऐसा प्रोग्राम नहीं देखा है जो कमांड लाइन पर ',' का उपयोग करता है, इसलिए मुझे आश्चर्य नहीं है कि प्रतिलिपि और टेलनेट इसका समर्थन नहीं करता है। –
क्या आप सुझाव दे रहे हैं कि एमएस सी रनटाइम रिक्त स्थान और उद्धरण को सीमित करता है? या वह अभी भी खोल है? और यदि यह एमएस सी रनटाइम है, तो क्या आप इसे साबित कर सकते हैं? मैं नहीं देखता कि आपका दूसरा बुलेट प्वाइंट यूनिक्स और विंडोज़ को अलग करने के तरीके को कैसे अनदेखा करता है, रीडायरेक्ट और पाइप को भी पार्स नहीं करता है। – barlop