Windowsسیستم عاملفرمت ها

نامگذاری استاندارد مسیر و نام فایل‌ها

بدون شک همه ما با نام و مسیر عادی فایل‌ها آشنایی داریم اما این مسیر و نام در نامگذاری استاندارد کمی متفاوت است و بخش‌های مختلف آن دارای اسامی متفاوتی هستند. همه با بدون شک با نام و مسیر عادی فایل‌ها آشنایی داریم و می‌دانیم که مثلاً مسیر “C:\Program Files\Help.exe” به چه معناست اما این مسیرها و نام فایل‌ها در نامگذاری استاندارد تفاوت داشته و بخش‌های مختلف یک مسیر ثابت، دارای نام‌های مختلفی هستند.

 

مسیر فایل یا پوشه چیست؟

مسیر فایل یا پوشه یک عبارت رشته‌ای (String) است که توسط سیستم فایل (File System) برای نشان دادن محل دقیق فایل یا پوشه مورد استفاده قرار می‌گیرد. این مسیر توسط حروف خاصی مانند بک اسلش (\)، به قسمت‌های مختلفی تقسیم می‌شوند که هر یک نشان دهنده یک مکان معین مانند پوشه، درایو یا خود فایل است. بنابراین هر فایل یا پوشه بر روی حافظه‌ای که توسط سیستم فایل سازماندهی شده است، به یک مسیر نیاز دارد. برای مثال، مسیر “C:\Program Files\Help.exe” نشان دهنده این است که فایل Help با پسوند EXE در پوشه Program Files واقع در درایو C بوده و دسترسی با آن فایل با استفاده از این مسیر امکان پذیر است.

برای جلوگیری از تداخل مسیر با سایر پارامترها و رشته‌ها، معمولاً مسیر کامل را بین دو کاراکتر کوتیشن (“) قرار می‌دهند. مسیر فایل توسط سیستم فایل های مختلفی ایجاد می‌شود بنابراین ویژگی‌های این مسیر بستگی به نوع سیستم فایل (و گاهاً به نوع سیستم عامل) دارد. برای مثال ممکن است در سیستم فایلی بزرگی یا کوچک بودن حروف در یک مسیر نشان دهنده دو مسیر متفاوت باشند یا مسیر فایل با کاراکترهای غیر از استاندارد UCS-2 شناخته نشوند.

 

نامگذاری استاندارد قسمت‌های مختلف یک مسیر

یک مسیر به قسمت‌های مختلفی تقسیم می‌شود که هر یک از این قسمت‌ها به خصوص در برنامه نویسی و طراحی وب به درد کاربران می‌خورد. قصد ما در این پست نشان دادن این نامگذاری به صورت استاندارد است. ممکن است در برخی از زبان‌ها مانند PHP نام هر یک از این قسمت‌ها با توضیحات زیر تفاوت داشته باشد. در این قسمت فایلی با مسیر زیر بررسی می‌شود:

“C:\Program Files\Microsoft Games\Chess\Chess.exe”

  • پسوند فایل (Extension)

پسوند فایل (File Extension یا Extension) عبارت رشته‌ای است که نشان دهنده نوع رمزگذاری فایل (درواقع همان فرمت فایل) بوده و از Filename پایه‌ای توسط یک نقطه یا یک کاراکتر فاصله جدا می‌شود. این عبارت ممکن است فرمت اصلی فایل را نشان ندهد (برای اطلاعات بیشتر به پست مربوط به پسوند فایل مراجعه کنید):

“C:\Program Files\Microsoft Games\Chess\Chess.exe

توجه کنید که ممکن است تنها عبارت بعد از جدا کننده به عنوان پسوند فایل شناخته شود:

“C:\Program Files\Microsoft Games\Chess\Chess.exe

  • نام فایل (Filename)

نام فایل (Filename یا File name) همان نام مجزایی است که برای یک فایل در نظر گرفته می‌شود و آن فایل را از سایر فایل‌ها در یک پوشه مستقل نشان می‌دهد؛ فایل نیم مانند اسم یک شخص، واقع در یک مکان مشخص است. این قسمت در بسیاری از زبان‌های برنامه نویسی به یک اسم نامیده می‌شود:

“C:\Program Files\Microsoft Games\Chess\Chess.exe

البته در برخی موارد Filename بدون پسوند فایل در نظر گرفته می‌شود که کاربرد گسترده‌ای ندارد. در این صورت Filename ریشه فایل (File Root) یا نام پایه (Basename) نامیده می‌شود:

“C:\Program Files\Microsoft Games\Chess\Chess.exe”

توجه کنید که تفاوت Filename با Basename در این است که Basename (نام پایه) درصورتی که در مسیر یک فایل استفاده شود، همان Filename است اما درصورتی که در مسیر یک پوشه استفاده شود، نام آخرین پوشه را برمی‌گرداند.

  • پوشه (Directory)

پوشه (Directory)، نزدیک ترین فولدری است که در بالاترین سطح مسیر قرار دارد. به عبارت بهتر، همان پوشه‌ای است که فایل مورد نظر در داخل آن وجود دارد؛  مانند اتاقی است که یک شخص (فایل نیم) در آن قرار دارد:

“C:\Program Files\Microsoft Games\Chess\Chess.exe”

 

  • نام پوشه (Dirname)

نام پوشه مسیر کاملی است که بدون در نظر گرفتن Filename و پسوند نوشته می‌شود؛ مانند آدرس کامل محلی که یک شخص (فایل نیم) در آن جا قرار دارد:

C:\Program Files\Microsoft Games\Chess\Chess.exe”

  • مسیر کامل (Pathname)

مسیر کامل (Pathname یا Full Path)  یا مسیر مطلق (Absolute Path) همان چیزی است که همگی با آن آشنا هستیم و آن مسیر کامل یک فایل یا پوشه است؛ مانند آن که هم نام فرد و هم آدرس کامل جایی که وی در آن جا قرار دارد:

C:\Program Files\Microsoft Games\Chess\Chess.exe

تجزیه مسیر فایل به صورت خودکار

برای راحتی شما و درک بهترتان، فرم زیر را تهیه کرده ایم تا با استفاده از آن، و با وارد کردن مسیر کامل یک فایل بدون کوتیشن‌ها و دارای حداقل یک پوشه، با قسمت‌های مختلف مسیر داده شده آشنا شوید:

مسیر نمونه: C:\Program Files\AmirrezA\The Program.exe

مسیر کامل فایل:
پسوند فایل:
نام فایل:
نام پایه:
پوشه:
نام پوشه:

امیررضا نصیری

امیررضا هستم، دانشجوی ارشد نرم‌افزار و مدیر بایت گیت و دلیکس. عاشق کامپیوتر و هر چی که بهش ربط داره! دوست دارم همه چیزو یاد بگیرم و اونا رو یاد بدم. امیدوارم از مطالب سایت استفاده کنید و لذت ببرید. » بیشتر آشنا شوید!

نوشته های مشابه

۲۰ دیدگاه

  1. با سلام
    واقعا مطالب رو روشن و گيرا بيان كردي و مطالب جامع هستن.
    خيلي ممنون بابت مطالب خوبتون.

  2. سلام
    بعضی وقتها در وب وقتی فایلی دانلود میکنیم آدرس دانلودی بصورتی که شما مطرح کردید نمایش داده نمیشه بطور مثال اون فایل یا فولدر با کلمات مفهوم یا غیر مفهوم از هم تفکیک داده شده (حداقل مسیردهی گفته شده رو ندارن) ………تا اینجا میدونم که یکی از راههیی که اکثرشون استفاده میکنن استفاده ار اسکریپتهای دانلود هست سوال من از شما اینه که:
    ۱- آیا شما راههایی دیگه برای بغیر از این اسکریپت میشناسید معرفی کنید؟
    ۲-ایا آدرس دهی برای خودشون در پنل سایت به همین شکلی هست که ما مشاهده میکنیم؟
    ۳-ما چطوری میتونیم از طریق لاگ دانلود و یا به طریقی از آدرس دهی واقعی با خبر بشیم؟

    1. سلام. فایل های دانلودی از طریق وبسایت ها در اختیار کاربران قرار میگیرن. مثلا یه فایل php میتونه پردازشی داشته باشه که در نهایت یه عکس رو نشون کاربر بده (کاری که Captcha ها میکنن) یا مثلا یه فایل php طوری برنامه ریزی شده باشه که طبق ریکوئستی مثل GET یه فایل دیگه رو به کاربر تحویل بده مثلا download.php?id=23123 و … .

        1. خب اونطور که فکر میکنید نیست، فایل هایی که به این صورت هستن بصورت داینامیک در اختیار شما قرار میگیرن چه خود فایل واقعا سمت سرور وجود داشته باشه چه هنگام درخواست تولید بشه.
          این نوع دانلود میتونه با یه کد PHP یا ASP ساده نوشته و نیازی به اسکریپت و … نیست. برای خود ادمین هم این لینک ها معمولا به همین صورته.

          1. متشکرم
            ادمین وقتی فایلشو داخل سرورش آپلود میکنه حتما به یه مسیری میریزه ….نمیشه که مثلا چند هزار فایل هیچ شناسه قابل مفهمومی برای خود ادمین نداشته باشه اونموقع در مدیریت اونها به مشکل برمیخوره…… با در نظر گرفتن مشکلات پیش آمده اگر قبول بکنیم که ادمین در مسیر دهی استانداردی فایلهاشو میچینه و میبینه ایا میتونیم با دونستن مسیر مستقیم فایل مربوطه اون رواز سرور طلب کنیم حتی اگر لینک تولیدی خود سرور نامفهموم و چیز دیگری باشه؟

            1. سلام. البته که درست میفرمائید.
              هر فایلی که آپلود میشه در یه جایی قرار میگیره حالا این که چجوری به کاربر تحویل داده میشه ممکنه تغییر کنه. مثلا یه فایل برنامه نویسی شده پارامتری رو بگیره و یه فایل ثابت رو به کاربر بده اگه درست برنامه نویسی شده باشه ممکنه کاربر نتونه مسیر اصلیش رو بفهمه. ولی برای ادمین این قضیه فرق داره و کنترل کامل فایل ها (مسیر، پرمیژن ها و …) بر عهده خودشه.
              حالا حتی اگه مسیر فایل اصلی رو هم بدونیم ممکنه از طرف هاست درخواست فایل بصورت مستقیم بسته بشه و نتونیم اونو دریافت کنیم.

            2. سلام. البته که درست میفرمائید.
              هر فایلی که آپلود میشه در یه جایی قرار میگیره حالا این که چجوری به کاربر تحویل داده میشه ممکنه تغییر کنه. مثلا یه فایل برنامه نویسی شده پارامتری رو بگیره و یه فایل ثابت رو به کاربر بده اگه درست برنامه نویسی شده باشه ممکنه کاربر نتونه مسیر اصلیش رو بفهمه. ولی برای ادمین این قضیه فرق داره و کنترل کامل فایل ها (مسیر، پرمیژن ها و …) بر عهده خودشه.
              حالا حتی اگه مسیر فایل اصلی رو هم بدونیم ممکنه از طرف هاست درخواست فایل بصورت مستقیم بسته بشه و نتونیم اونو دریافت کنیم.

  3. تشکر از شما
    امیدوارم خسته نکرده باشم اگر چنین هست بگید که از طرق دیگه مثل تلفن با شما ارتباط بگیرم و یا ادامه ندم
    .
    من فکر ویندوزو میکنم به خودم میگم وقتی فایلی رو از جایی میگیریم حتما مسیر اون فایل در اون محل برای سیستم من مشخصه که میتونه راحت درخواست اون فایل بخصوص رو بده و با اون فایل ارتباط برقرار کنه پس با این فرض در محیط شبکه باید مشخصات و مسیر دهی فایلها روشن در اختیار سیستم مقصد قرار بگیره اما شاید از چشم کاربر دور بمونه چون لازم نبوده ؟؟ به نظرت تحلیل اشتباهیه؟؟
    .
    در کنار سوال بالا دو تا مثال هم دارم که جوابشون برام مهمه
    ۱-سایت اکانتی فایلهاشو در اختیار یوزرهای ویژه خودش قرار میده یوزر ویژه میاد لینک نهایی و مستقیم فایلو ریموت آپلود میکنه جای دیگه ..آیا ادمین اشتباه برنامه نویسی کرده یا چون یوزر مسیر مستقیم رو میدونسته تونسته آپلود کنه؟

    ۲- در یک فروم وی بی اکانتی ، کسانی که یوزر ویژه نیستن فایلهارو بدون استثنا بصورت یک فایل با فرمت عکس میتونن دانلود کنن یعنی بصورت فیک براشون نمایش میده اما یوزرهای ویژه راحت دانلود میکنن ایا اینجا از اسکریپت دانلود خاصی استفاده شده ؟یا بقول شما یه کد نویسی سادست؟
    چطور میشه این ترفند را در یک فروم اجرا کرد؟

    1. سلام. خیر دوست عزیز تحلیلتون درسته.
      ۱- مشکل معمولا از ادمینه چون اگه دریافت فایل رو فقط به آدرس آی پی اون کاربر محدود کنه، سرور دیگه ای نمیتونه اونو دریافت کنه. البته بماند که یوزر اونو دانلود کنه و بعدا آپلود کنه جای دیگه.
      ۲- یه کد نویسی ساده! درباره کدها بهتره به انجمن های فارسی مربوط به برنامه نویسی سر بزنید چون از موضوع این سایت خارجه.

  4. من دو تا سیستمو باهم شبکه کردم و و قرار هر چند وقت یکبار اونارو که چند ترا بایت حجم دارن با هم سینک کنم متاسفانه روی انتقال اکثر فایلها ارور محدودیت طول آدرس مواجه میشم
    بدلیل حجم و تعداد زیاد فایلها نه میتونم تک تک ادرسشونو تغییر بدم و نه اونارو زیپ کنم لطف کنید یه ترفند بهم پیشنهاد کنید که هم بتونم مداوم انجام بدم و هم زمان زیادی نگیره …ممنونم

    1. خب در هر صورت برای انتقال فایل به اون آدرس نیازه. شما میتونید برنامه ای بنویسید که آدرسشونو کوتاه کنه و بعد انتقال آدرس اصلیشونو برگردونه. این بهترین روشه فکر کنم.

    2. خب در هر صورت برای انتقال فایل به اون آدرس نیازه. شما میتونید برنامه ای بنویسید که آدرسشونو کوتاه کنه و بعد انتقال آدرس اصلیشونو برگردونه. این بهترین روشه فکر کنم. .

      1. متاسفانه علمشو ندارم اینکارو بکنم
        دو تا علت باعث این مشکل شده
        – فولدرها و فایلهایی با اسم و نام طولانی در بین اونها قرار داره
        – فولدرها و زیر شاخه های زیادی وجود داره ک مسیرو زیاد میکنه

        ایا نمیشه فولدر ریشه را بفرمت و چیزی تبدیل کنیم ک راحت بشه پک و بعد آنپک کرد
        یعنی بغیر از زیپ هیچ قالب و الگوریتی برای پک کردن وجود نداره که سریع اینکارو انجام بده
        خواهش میکنم تحقیقی در این مورد بکنید

        1. متاسفانه من چنین متدی رو پیدا نکردم. بهترین کار همونیه که گفتم، به یه برنامه نویس بگید که همچین برنامه ای رو پیاده کنه یا خودتون بصورت دستی تغییر بدید اسم هارو!

          1. عجیبه
            من دارم به این فکر میکنم که چجوری ما از یه سیستم دیگه در شبکه جهانی با اسم و مسیر بسیار طولانی تر راحت میتونیم دانلود کنیم اما از یه شبکه داخلی که کنارمونه اینقدر عاجزیم
            پس این سیستم های شبکه بزرگ شرکتها که دائما مجبورن سینک بکنن و یا بک آپ بر دارن از چه ترفندی استفاده میکنن
            لطف کنید در این دو مورد توضیح بفرمایید

            1. خب توی اینترنت هم همین مشکل هست. سمت سرور اگه فایلی بخواد کاری روش انجام بشه به آدرسش نیازه و هر فایل سیستمی هم یه محدودیت کاراکتر آدرس داره. فرقی نمیکنه رو سرور یه سایت باشه یا تو کامپیوتر خودمون.
              شرکت ها هم سعی نمیکنن طول فایل ها رو به اون بزرگی انتخاب کنن چون واقعا لازم نیست! اگه هم باشه با برنامه های تغییر دهنده آدرس که گفتم اگه بتونید بنویسید، این مشکل رو رفع میکنن.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *