फ़ाइल का नाम? पथ का नाम? आधार का नाम? एक पथ के टुकड़ों के लिए नामकरण मानक


228

जब मैं पथों और फ़ाइल नामों में हेरफेर कर रहा हूं, तो मैं खुद को गांठों में रखता हूं, क्योंकि मेरे पास एक सामान्य नामकरण प्रणाली नहीं है जिसका मैं उपयोग करता हूं।

मुझे नामकरण मानक के साथ आने और उस पर टिकने की आवश्यकता है, और मैं स्पष्ट और दूसरों के अनुरूप होना चाहूंगा, इसलिए मैं विहित उत्तर जानने के लिए खोल रहा हूं।

इस खिलौना समस्या पर विचार करें: (विंडोज उदाहरण, लेकिन उम्मीद है कि उत्तर स्वतंत्र होना चाहिए)

आपको एक फ़ोल्डर का पूरा नाम दिया गया है: C: \ users \ OddThinking \ Documents \ My Source। आप नीचे के फोल्डर को चलना चाहते हैं, और .src से .obj तक सभी संकलन कर सकते हैं।

कुछ बिंदु पर आप निम्नलिखित स्ट्रिंग को देख रहे हैं।

C:\users\OddThinking\Documents\My Source\Widget\foo.src

तो, भागों के लिए आप किस पहचानकर्ता के नाम का उपयोग करेंगे?

A) foo
B) foo.src
C) src
D) .src
E) C:\users\OddThinking\Documents\My Source\ - i.e. the top of the tree.
F) Widget\foo.src - i.e. the path from the top of the tree to the leaf.
G) Widget - i.e. one node of the tree.
H) C:\users\OddThinking\Documents\My Source\Widget\ - i.e. the name of the folder
I) C:\users\OddThinking\Documents\My Source\Widget\foo.src

आपको शुरू करने के लिए मैं कुछ जवाब दूं।

A) आधार नाम?

बी) फ़ाइल नाम? या यह फ़ाइल नाम है? अंतर महत्वपूर्ण है जब पहचानकर्ता नाम चुनते हैं, और मैं यहां सुसंगत नहीं हूं।

ग) विस्तार

घ) विस्तार। रुको, यही वह है जिसे मैंने सी कहा है। क्या मुझे डॉट को संग्रहीत करने से बचना चाहिए, और बस आवश्यकता पड़ने पर डाल देना चाहिए? यदि किसी विशेष फ़ाइल पर कोई डॉट नहीं है तो क्या होगा?

एच) पथ का नाम? या रुको, क्या यह सिर्फ रास्ता है?

मैं) फ़ाइल नाम। रुको, यही मैं सी। पथ कहलाता हूं। रुको, यही वह है जिसे मैंने एच कहा जाता है। शायद एच को फ़ोल्डर का नाम होना चाहिए। "फ़ोल्डर" एक विंडोज-विशिष्ट शब्द नहीं है, हालांकि?


Microsoft के एक तकनीकी संपादक माइक पोप अपने ब्लॉग पर बताते हैं कि जब Microsoft शैली मार्गदर्शिका दो शब्दों से लगातार चिपकी रहती है: फ़ाइल का नाम, फ़ोल्डर का नाम, वॉल्यूम का नाम, Apple स्टाइल गाइड कभी-कभी उनके साथ जुड़ जाता है: फ़ाइल का नाम, पथनाम, वॉल्यूम नाम ।
Oddthinking

ए) को निश्चित रूप से बेसन नहीं कहा जाना चाहिए क्योंकि बेसन का उपयोग कई स्थानों पर पहले से ही एक पथ के लिए अंतिम आइटम का मतलब करने के लिए किया जाता है (एक फ़ाइल के लिए, जो कि डीरपथ के बिना फ़ाइल नाम होगा)। कुछ स्थानों पर विस्तार के बिना फ़ाइल नाम दिया जाता है stem
बुद्धिमानबाई

इसके अलावा, कई अवधियों वाली फ़ाइलों के लिए (जैसे, foo.src.txt), क्या एक्सटेंशन (s) के पहचान (और नामकरण) की कोई मानक विधि है?
user117529

जवाबों:


178

मुझे लगता है कि "मानक" नामकरण सम्मेलन के लिए आपकी खोज व्यर्थ होगी। यहां मेरे प्रस्ताव, मौजूदा, प्रसिद्ध कार्यक्रमों पर आधारित हैं:

A) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo .src

विम इसे फ़ाइल रूट कहते हैं : ( फ़ाइल नाम-संशोधक में मदद करें)

B) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

फ़ाइल का नाम या आधार नाम

C) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo। src (डॉट के बिना)

फ़ाइल / नाम विस्तार

D) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo .src (डॉट के साथ)

फ़ाइल एक्सटेंशन भी । बस डॉट के बिना स्टोर करें, अगर किसी फाइल पर डॉट नहीं है, तो इसका कोई विस्तार नहीं है

E) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

पेड़ के ऊपर
कोई सम्मेलन नहीं, गिट इसे आधार निर्देशिका कहते हैं

F) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

पेड़ के ऊपर से पत्ती
सापेक्ष पथ के लिए पथ

G) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

पेड़ का एक हिस्सा
नहीं सम्मेलन, शायद एक साधारण निर्देशिका

H) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

dir नाम

I) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

पूर्ण / पूर्ण पथ


8
यह ऑफ-टॉपिक हो रहा है, लेकिन डॉट के लिए अलग से एक्सटेंशन के स्टोरेज से सावधान रहें। आपको "फू", "फू" के फ़ाइल नामों को संभालने की आवश्यकता है। और "foo.txt" (और यहां तक ​​कि "foo.txt.bak"।)
अजीब

1
हाय दोस्तों, महान उदाहरण। यह समझने में अधिक आसान होगा कि यदि आप प्रश्न के आगे उत्तर रखते हैं, तो उन संदर्भों का उपयोग करने के बजाय जो स्क्रॉल करने के लिए मजबूर करते हैं। मैं उस तरीके को सुधारने के लिए एक संपादन करता हूं। ग्रेटिंग्स
विक्टर

3
विक्टर, चूँकि आपका संपादन अस्वीकृत हो गया (wtf दोस्तों, यह एक बहुत अच्छा सुधार है!) मैंने अभी इसे स्वयं किया है :-)
blinry

1
फॉर 1.(बिना विस्तार के केवल फ़ाइल नाम), मैंने File Titleएक स्पष्ट सम्मेलन की कमी या कम से कम वैश्विक सहमति के कारण बहुत पहले जाने का फैसला किया ।
पॉलीवेरटेक्स

1
Aविस्तार के बिना (फ़ाइल नाम के लिए ), आप उपयोग कर सकते हैं stem। संदर्भ: doc.rust-lang.org/std/path/struct.Path.html#method.file_stem , llvm.org/docs/doxygen/html/… , boost.org/doc/locs/1_60_0/libs/filesystem/ doc /…
बुद्धिमानबरी 20

36

अच्छा सवाल सबसे पहले, मेरी +1। यह बात मुझे तब गुदगुदाती है जब मुझे एक बार यूटिलिटी क्लास में कार्यों का एक समूह बनाना पड़ा। GetFileName? या GetFullName? GetApplicationPath का अर्थ है पूर्ण पथ या निर्देशिका नाम? और इसी तरह। मैं .NET पृष्ठभूमि से आता हूं, इसलिए मुझे लगता है कि मैं @blinry द्वारा अन्यथा उत्कृष्ट उत्तर के लिए थोड़ा और जोड़ सकता हूं।

सारांश: (इटैलिक में वह है जो मैं एक प्रोग्रामर के रूप में उपयोग नहीं करूंगा)

  1. पथ : पथ फ़ाइल सिस्टम में एक अद्वितीय स्थान निर्दिष्ट करता है (जब तक कि उसके सापेक्ष पथ)। पथ नाम का उपयोग अक्सर कम किया जाता है, लेकिन मैं पथ के साथ चिपका रहूंगा - यह बहुत स्पष्ट करता है कि यह क्या है। पथ किसी फ़ाइल या फ़ोल्डर या कुछ भी नहीं करने के लिए इंगित कर सकता है (C: \)। पथ हो सकता है:

    1. सापेक्ष पथ : My Source\Widget\सापेक्ष पथ के साथ-साथ सापेक्ष पथ भी है Widget\foo.src। स्वयं व्याख्यात्मक।
    2. पूर्ण पथ या पूर्ण पथ : पूरी तरह से योग्य पथ है जो लक्ष्य को इंगित करता है। मैं उत्तरार्द्ध का उपयोग अधिक बार करता हूं। C:\users\OddThinking\Documents\My Source\Widget\foo.srcइसलिए पूरा रास्ता है। अंत में देखें कि मैं पूर्ण पथ को क्या कहता हूं जो एक फ़ाइल को इंगित करता है और जो एक निर्देशिका के रूप में समाप्त होता है।

    विकि पृष्ठ और के लिए .NET नामकरण पथ अनुरूप है।

  2. रूट पाथ या रूट डायरेक्टरी : पूर्व को .NET कन्वेंशन है जबकि बाद में UNIX सर्किल में अधिक सुना जाता है। हालांकि मुझे दोनों पसंद हैं मैं पूर्व का अधिक उपयोग करता हूं। विंडोज़ में, UNIX के विपरीत, कई अलग-अलग रूट पथ हैं, प्रत्येक विभाजन के लिए एक। यूनिक्स सिस्टम में एक रूट निर्देशिका होती है जो अन्य निर्देशिकाओं और फाइलों पर जानकारी रखती है। उदाहरण के लिए। C:\रूट पाथ है।

  3. फ़ोल्डर या फ़ोल्डर का नाम : Widget, OddThinkingआदि अपने मामले में। यह केवल एक विंडोज सम्मेलन हो सकता है (वास्तव में अपनी खुद की अजीब सोच :)), फिर भी मैं ब्लिंजरी के उत्तर "निर्देशिका" पर जोरदार आपत्ति करता हूं। हालांकि एक सामान्य उपयोगकर्ता निर्देशिका के लिए एक फ़ोल्डर (सबफ़ोल्डर, उपनिर्देशिका की तरह) के समान है, मेरा मानना ​​है कि तकनीकी कोण से "निर्देशिका" को लक्ष्य के लिए एक योग्य पते की तरह ध्वनि चाहिए और लक्ष्य को ही नहीं। अधिक नीचे।

    1. उप फ़ोल्डर : के संबंध में users OddThinkingऔर Documentsउप फ़ोल्डर हैं।
    2. उप निर्देशिकाएँ : के संबंध में users OddThinking\, OddThinking\Documents\और OddThinking\Documents\My Source\Widget\उप निर्देशिकाएं हैं। लेकिन हमें अक्सर इसके बारे में परेशान होने की ज़रूरत नहीं है, क्या हम?
    3. बाल फ़ोल्डर : सम्मान के साथ users OddThinkingएक बच्चा फ़ोल्डर (और साथ ही उप फ़ोल्डर)
    4. पैरेंट फोल्डर : फॉर OddThinking usersइट्स पेरेंट फोल्डर (सिर्फ अलग-अलग शब्दावली का उल्लेख करते हुए, कोई बड़ी बात नहीं)।
  4. निर्देशिका या निर्देशिका का नाम : पूर्व वास्तविक जीवन में आमतौर पर उपयोग करने के लिए, कोड में उत्तरार्द्ध होना चाहिए। यह लक्ष्य के मूल फ़ोल्डर तक पूरी तरह से योग्य पथ (या बस पूर्ण पथ ) को संदर्भित करता है । आपके मामले में, (हां एक डायरेक्टरी का मतलब कभी किसी फाइल को इंगित करना नहीं होता)। मैं अपने कोड में डायरेक्टरी नाम का उपयोग करता हूं क्योंकि डायरेक्टरी .NET में एक क्लास है और डायरेक्टरी नेम वही है जो लाइब्रेरी खुद कहती है। यह UNIX प्रणालियों में उपयोग किए गए dirname के साथ काफी सुसंगत है ।C:\users\OddThinking\Documents\My Source\Widget

  5. फ़ाइल का नाम या बेसनेम : एक्सटेंशन के साथ फाइल का नाम। आपके मामले में foo.src:। मैं कहूँगा कि एक गैर तकनीकी उपयोग के लिए मैं पसंद फ़ाइल नाम लेकिन तकनीकी प्रयोजनों के लिए मैं सख्ती से साथ रहना होगा (यह क्या यह एक अंत उपयोगकर्ता के लिए इसका मतलब है) basename । फ़ाइल का नाम अक्सर एमएस द्वारा उपयोग किया जाता है, लेकिन मुझे आश्चर्य है कि वे न केवल प्रलेखन में, बल्कि पुस्तकालय में भी कैसे सुसंगत हैं । फ़ाइल नाम का मतलब फ़ाइल का पूर्ण नाम या पूर्ण पथ हो सकता है। इसलिए मैं बेसनेम का पक्ष लेता हूं, यही मैं उन्हें कोड में कहता हूं। विकी पर यह पृष्ठ यह भी कहता है कि फ़ाइल नाम का अर्थ पूर्ण पथ या बेसनेम हो सकता है। आश्चर्यजनक रूप से .NET में भी मैं फ़ाइल के मूल नाम का अर्थ उपयोग बेसनेम पा सकता हूँ।

  6. एक्सटेंशन या फ़ाइल नाम एक्सटेंशन या फ़ाइल एक्सटेंशन : मुझे पिछले एक पसंद है। सभी एक ही बात को संदर्भित करते हैं लेकिन यह क्या है फिर से बहस का विषय है! विकी का कहना है कि यह कुछ srcसमय पहले की बात है जब मुझे याद आया कि कई भाषाएं इसकी व्याख्या करती हैं .src। डॉट नोट करें। इसलिए एक बार फिर मेरा लेना है, आकस्मिक उपयोग के लिए यह मायने नहीं रखता कि यह क्या है, लेकिन एक प्रोग्रामर के रूप में मैं हमेशा के रूप में विस्तार देखता हूं .src

    ठीक है, मैंने कुछ मानक उपयोग लाने की कोशिश की होगी, लेकिन यहाँ मेरे दो सम्मेलन हैं जिनका मैं अनुसरण करता हूँ। और यह पूर्ण पथों के बारे में है।

    1. मैं आम तौर पर एक पूर्ण पथ के रूप में एक फाइल करने के लिए उस समय फोन फ़ाइल पथ । मेरे लिए फ़ाइल पथ स्पष्ट कट है, यह मुझे बताता है कि यह क्या है। हालाँकि फ़ाइल नाम के साथ मैं इसे फ़ाइल के नाम के रूप में पाता हूँ, अपने कोड में मैं इसे फ़ाइल नाम कहता हूँ । यह " निर्देशिका नाम " के अनुरूप भी है । तकनीकी पक्ष से, नाम पूरी तरह से योग्य नाम को संदर्भित करता है! Frustratingly .NET शब्द फ़ाइल नाम का उपयोग करता है (इसलिए मेरे पास यहां मेरा मामला है) और कभी-कभी इसके लिए फ़ाइल पथ।

    2. मैं एक पूर्ण पथ कहता हूं जो एक निर्देशिका के रूप में समाप्त होता है। वास्तव में एक पते के किसी भी टुकड़े को कॉल कर सकता है जो किसी फ़ाइल को निर्देशिका में इंगित नहीं करता है। तो C:\users\OddThinking\Documents\My Source\एक निर्देशिका है, C:\users\OddThinking\एक निर्देशिका है, या यहां तक ​​कि OddThinking\Documents\My Source\(इसे उप निर्देशिका या यहां तक ​​कि बेहतर सापेक्ष पथ को कॉल करने के लिए बेहतर है - यह सब उस संदर्भ पर निर्भर करता है जो आप इसके साथ काम कर रहे हैं)। अच्छी तरह से ऊपर मैंने निर्देशिका के बारे में कुछ अलग उल्लेख किया है जो निर्देशिका नाम है। यहाँ इस पर मेरा विचार है: मुझे भ्रम से बचने के लिए एक नया रास्ता मिलेगा। यह क्या है D:\Fruit\Apple\Pip\? एक निर्देशिका। लेकिन अगर सवाल यह है कि डायरेक्टरी या उससे भी बेहतर डायरेक्टरी का नाम क्या है D:\Fruit\Apple\Pip\, तो इसका जवाब है D:\Fruit\Apple\। आशा है कि यह स्पष्ट है।

    मैं कहूंगा कि अंतिम दो शब्दों के बारे में चिंता न करना बेहतर है क्योंकि इससे मेरे लिए सबसे अधिक भ्रम (व्यक्तिगत रूप से) पैदा होता है। बस पूर्ण पथ शब्द का उपयोग करें !

आपको जवाब देने के लिए:

  1. आपके द्वारा दिए गए मार्ग के संबंध में

    क) कोई विचार नहीं। वैसे भी मुझे उस अकेले को पाने की कभी जरूरत नहीं थी।

    ब) बेसन

    ग) मैं इसे केवल समय के लिए फ़ाइल एक्सटेंशन कहूंगा, मैं कम से कम चिंतित हूं क्योंकि मुझे कभी भी अपने कोड में नाम रखने की आवश्यकता नहीं थी।

    डी) फ़ाइल एक्सटेंशन निश्चित रूप से।

    ई) मुझे नहीं लगता कि यह एक सामान्य उद्देश्य की आवश्यकता है। कोई जानकारी नहीं। .NET बेस डायरेक्टरी में डायरेक्टरी नाम के समान है।

    च) सापेक्ष पथ

    जी) फ़ोल्डर (पैरेंट फ़ोल्डर के आधार पर foo.src)

    ज) निर्देशिका नाम

    I) पूर्ण पथ (या फ़ाइल नाम भी)

  2. सामान्य तौर पर (थोड़ा वर्बोज़ होने के लिए खेद है, बस पॉइंट होम ड्राइव करने के लिए) लेकिन मान foo.srcलेना वास्तव में एक फ़ाइल है

    ए) एनए

    ब) बेसन

    सी) एनए

    डी) विस्तार

    ई) निर्देशिका या बस पथ

    च) सापेक्ष पथ

    जी) एनए

    एच) निर्देशिका या बस पथ

    I) पूर्ण पथ (या फ़ाइल नाम भी)

मेरी ओर से एक उदाहरण के साथ आगे ड्राइविंग:

  1. पथ पर विचार करें C:\Documents and Settings\All Users\Application Data\s.sql

    1. C:\Documents and Settings\All Users\Application Data\s.sql पूर्ण पथ है (जो फ़ाइल नाम है)
    2. C:\Documents and Settings\All Users\Application Data\ निर्देशिका नाम है।
  2. अब पथ पर विचार करें C:\Documents and Settings\All Users\Application Data

    1. C:\Documents and Settings\All Users\Application Data पूरा रास्ता है (जो एक निर्देशिका होने के लिए होता है)
    2. C:\Documents and Settings\All Users निर्देशिका नाम है।

मेरे दो सुझाव:

  1. मैं अंगूठे के इस नियम का पालन करता हूं कि जब इसके प्रकार के बावजूद एक पूर्ण पते को संबोधित करने की बात आती है, तो मैं लगभग हमेशा इसे "पूर्ण पथ" कहता हूं। यह न केवल फ़ाइल पथ और फ़ोल्डर पथ के लिए दो शब्दावली के उपयोग को समाप्त करता है, यह संभावित भ्रम से भी बचता है यदि आप फ़ाइल का नाम फ़ाइल नाम के रूप में रखने जा रहे हैं (जो कि अधिकांश उपयोगकर्ताओं के लिए अभी बेसेंसम में अनुवाद करता है)। लेकिन हाँ यदि आपको पथ के प्रकार के बारे में विशिष्ट होना है, तो इसका नाम बेहतर है तो अधिक सामान्य "पथ" के बजाय नाम या निर्देशिका फ़ाइल करें।

  2. जो भी हो, यह आपके अपने विचार को ध्यान में रखना होगा, इसके अनुरूप होना चाहिए। टीम के सदस्यों के बीच आम सहमति है कि इसका मतलब यह है और यह नहीं।

अब जबकि सर्कल से मुझे कुछ अभ्यास करना है। शर्तों का एक नया ब्रांड होगा जो ओएस एक्स और एंड्रॉइड मशीनों पर उपयोग किया जाता है। और ये सब फाइलसिस्टम में भौतिक रास्तों के बारे में हैं। वेब पते के मामले में शब्दावली का एक नया सेट उत्पन्न होगा। मैं उम्मीद करता हूं कि कोई व्यक्ति इसी सूत्र में शून्य को भरेगा :) मैं उस अधिवेशन को सुनकर खुश होऊंगा जिसके साथ आप आगे बढ़े हैं।


एक लंबे समय के लिए मैं "फ़ाइलनाम" शब्द का उपयोग कर रहा हूं जिसका अर्थ है पूर्ण फ़ाइल नाम सहित संपूर्ण निरपेक्ष पथ। आपके उत्तर, यहां के अन्य लोगों और संसाधनों ने कहीं और के बारे में मेरा मन बदल दिया है, और अब मैं इसके लिए "फुलपैथ" शब्द का उपयोग करूंगा, बिना नाम के स्थान के लिए "पथ", और फ़ाइल नाम के लिए "फ़ाइलनाम" या "नाम"। अपने आप।
नैट

24

C ++ में, Boost.Filesystem ने एक पथ के विभिन्न भागों के लिए एक नामकरण तैयार किया है। विवरण के लिए पथ अपघटन संदर्भ प्रलेखन, साथ ही इस ट्यूटोरियल को देखें

यहाँ ट्यूटोरियल पर आधारित एक सारांश है। के लिये:

  • विंडोज पथ: c:\foo\bar\baa.txt
  • यूनिक्स पथ: /foo/bar/baa.txt

आपको मिला:

Part            Windows          Posix
--------------  ---------------  ---------------
Root name       c:               <empty>
Root directory  \                /
Root path       c:\              /
Relative path   foo\bar\baa.txt  foo/bar/baa.txt
Parent path     c:\foo\bar       /foo/bar
Filename        baa.txt          baa.txt
Stem            baa              baa
Extension       .txt             .txt

सी ++ मानक आईएसओ / आईईसी 14882: 2017

इसके अलावा Boost.Filesystem शब्दावली C ++ 17 => देखें द्वारा अपनाया गया हैstd::filesystem

Function name     Meaning
----------------  -------------------------------
root_name()       Root-name of the path
root_directory()  Root directory of the path
root_path()       Root path of the path
relative_path()   Path relative to the root path
parent_path()     Path of the parent path
filename()        Path without base directory (basename)
stem()            Filename without extension
extension()       Component after last dot

6
वे पूरी बात को क्या कहते हैं? path, fullpath?
बुद्धिमानबरी

@wisbucky उनके नामकरण में पूरी बात को "पथ" कहा जाता है।
एमिल कॉर्मियर

1
@wisbucky लिंक को निश्चित किया। धन्यवाद।
एमिल कॉर्मियर

@olibre: C ++ 17 अपडेट के लिए धन्यवाद। लेकिन फ़ाइलनामstem() का एक हिस्सा है , पथ नहीं ।
एमिल कॉर्मियर

1
@ johnc.j। यह बहुत बुरा है Boost.Filesystem के रूप में अच्छी तरह से ज्ञात नहीं था जब सवाल पहली बार पूछा गया था। मैं खुद की तुलना में कुछ बनाने की तुलना में एक सहकर्मी की समीक्षा की गई लाइब्रेरी के नामकरण को अपनाना चाहूंगा।
एमिल कॉर्मियर

9

पायथन के pathlibमानक पुस्तकालय में पथ घटकों के लिए एक महान नामकरण सम्मेलन है: https://docs.python.org/3/library/pathlib.html

a) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo .src

स्टेम

b) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

नाम

c) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo। src (डॉट के बिना)

[कुछ भी तो नहीं]

d) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo .src (डॉट के साथ)

प्रत्यय

e) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

भव्य जनक पथ

च) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

ग्रैंड पैरेंट पथ के सापेक्ष पथ

g) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

माता पिता का नाम

h) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

जनक पथ

i) C: \ Users \ OddThinking \ Documents \ My Source \ Widget \ foo.src

पथ


8

नहीं, तुम पागल नहीं हो।

विंडोज सिस्टम में, कभी-कभी फ़ाइल वाले डायरेक्टरी के पथ को पथ कहा जाता है , जो कि शुरू से ही ऐसा था। इसलिए, उदाहरण के लिए,

    x:\dir1\dir2\myfile.txt

    Windows:
    --------
        PATH:  x:\dir1\dir2
        FILE:  myfile.txt

    Unix/Linux:
    -----------
        PATH:  /dir1/dir2/myfile.txt
        FILE:  myfile.txt

यूनिक्स / लिनक्स दृष्टिकोण बहुत अधिक तार्किक है, और यही सब ऊपर उल्लेख किया गया है: फ़ाइल नाम सहित पथ। हालाँकि, यदि आप "call /?" टाइप करते हैं विंडोज कमांड लाइन में, आपको यह मिलता है:

    %~1         - expands %1 removing any surrounding quotes (")
    %~f1        - expands %1 to a fully qualified path name
    %~d1        - expands %1 to a drive letter only
    %~p1        - expands %1 to a path only
    %~n1        - expands %1 to a file name only
    %~x1        - expands %1 to a file extension only

तो वहाँ यह है, "केवल पथ" और "केवल फ़ाइल का नाम"। इसी समय, वे पूरे स्ट्रिंग को "पूरी तरह से योग्य पथ नाम" के रूप में संदर्भित करते हैं जिसे ड्राइव अक्षर प्लस पथ प्लस फ़ाइल नाम के रूप में समझा जाता है। तो कोई वास्तविक सच्चाई नहीं है। यह निरर्थक है। आपके साथ विश्वासघात किया गया है।

वैसे भी,

तुम्हारे प्रश्न का उत्तर देने के लिए

इस तरह से मैं आपके उदाहरणों का नाम लूंगा:

A: -
B: basename
C: extension
D: -
E: -
F: -
G: -
H: pathname (or dirname or containing path)
I: full name

ADEF का कोई सरल उपनाम नहीं है। और चूंकि php संभवतः सबसे व्यापक रूप से ज्ञात क्रॉस-प्लेटफ़ॉर्म भाषा है, हर कोई "बेसनेम" और "dirname" को समझता है, इसलिए मैं उस नामकरण के साथ रहना चाहूंगा। पूरा नाम भी स्पष्ट है; पूर्ण पथ थोड़ा अस्पष्ट होगा लेकिन अधिकांश समय इसका मतलब बहुत ही समान होता है।


1
एक लंबे समय के लिए मैं "फ़ाइलनाम" शब्द का उपयोग कर रहा हूं जिसका अर्थ है पूर्ण फ़ाइल नाम सहित संपूर्ण निरपेक्ष पथ। अन्य उत्तर यहाँ और संसाधनों ने कहीं और के बारे में मेरा मन बदल दिया है, और अब मैं इसके लिए "पूर्णपाठ" शब्द का उपयोग करूँगा, बिना नाम के स्थान के लिए "पथ", और फ़ाइल नाम के लिए "फ़ाइलनाम" या "नाम"।
नैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.