c# - फ़ाइल पथ में आगे स्लैश (/) और बैकस्लैश (\) के बीच अंतर



3 Answers

एमएस-डॉस 1.0 ने सीपी / एम से '/' के कमांड लाइन विकल्प (या स्विच) चरित्र सम्मेलन को बरकरार रखा। उस समय फ़ाइल सिस्टम में कोई निर्देशिका संरचना नहीं थी और कोई संघर्ष नहीं था।

जब माइक्रोसॉफ्ट ने एमएस-डॉस (और पीसी-डॉस) 2.0 के साथ पर्यावरण की तरह यूनिक्स विकसित किया, तो उन्हें मौजूदा कमांड लाइन विकल्पों के साथ संघर्ष नहीं करने वाले किसी चीज़ का उपयोग करके पथ विभाजक का प्रतिनिधित्व करने की आवश्यकता थी। आंतरिक रूप से, सिस्टम या तो '/' या '\' के साथ समान रूप से अच्छी तरह से काम करता है। कमांड प्रोसेसर (और कई अनुप्रयोगों) ने स्विच चरित्र के रूप में '/' का उपयोग करना जारी रखा।

एक CONFIG.SYS प्रविष्टि SWITCHAR=- यूनिक्स संगतता को बेहतर बनाने के लिए / डिफ़ॉल्ट को ओवरराइड करने के लिए उपयोग किया जा सकता है। यह कमांड में बनाया गया है और मानक उपयोगिताओं वैकल्पिक चरित्र का उपयोग करें। यूनिक्स पथ विभाजक को तब फ़ाइल और निर्देशिका नामों के लिए अनजाने में उपयोग किया जा सकता है। इस प्रविष्टि को बाद के संस्करणों में हटा दिया गया था, लेकिन एक डॉस कॉल को बूट करने के बाद मान सेट करने के लिए दस्तावेज किया गया था।

यह थोड़ा उपयोग किया गया था और अधिकांश तीसरे पक्ष के उपकरण अपरिवर्तित बने रहे। भ्रम बनी रहती है। यूनिक्स उपकरण के कई बंदरगाह '-' स्विच कैरेक्टर को बनाए रखते हैं जबकि कुछ दोनों सम्मेलनों का समर्थन करते हैं।

फॉलो-ऑन पावरशेल कमांड प्रोसेसर कठोर से बचने और पैरामीटर स्विच करने और बड़े पैमाने पर भ्रम से बचाता है, सिवाय इसके कि विरासत उपकरण का उपयोग किया जाता है।

न तो सवाल और न ही उत्तर सी # से संबंधित है।

c# path filepath backslash slash

मैं फ़ाइल पथों में \ और / बीच के अंतर के बारे में सोच रहा था। मैंने देखा है कि कभी-कभी पथ में होता है / और कभी-कभी यह \ साथ होता है।

यह अच्छा होगा अगर कोई भी \ और / का उपयोग कब समझा सकता है।




यूनिक्स-आधारित सिस्टम पर \ एक बच निकलने वाला चरित्र है, यानी, पार्सर को बताता है कि यह एक जगह है और कथन का अंत नहीं है। यूनिक्स सिस्टम पर / निर्देशिका विभाजक है।

विंडोज \ पर निर्देशिका विभाजक है, लेकिन फ़ाइल या निर्देशिका नामों में उपयोग नहीं किया जा सकता है।




आपको या तो सी # में उपयोग नहीं करना चाहिए। आपको हमेशा Path वर्ग का उपयोग करना चाहिए। इसमें Path.Combine नामक एक विधि शामिल है जिसका उपयोग विभाजक को स्वयं निर्दिष्ट किए बिना पथ बनाने के लिए किया जा सकता है।

उदाहरण का उपयोग:

string fullPath = System.IO.Path.Combine("C:", "Folder1", "Folder2", "file.txt");



Related