جستجو

ترفندهای کامپیوتری

حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پی‌سی‌ترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارت‌های مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
ربات پی‌سی‌ترفند در تلگرام:
telegram.me/pctarfand_bot

خلاصه آمار

تبليغات

پربحث ترين ها

۸

لیست گرفتن از فایل‌ها و پوشه‌های موجود در یک دایرکتوری به کمک DOS و Notepad

سایر موارد کد نویسی دستورات داس

بسیاری اعتقاد دارند که سیستم‌عامل DOS به تاریخ پیوسته است، اما این سیستم‌عامل هم قابلیت‌های خاص خودش را دارد که یکی از آن‌ها این است که شما می‌توانید فهرست فایل‌های موجود در یک دایرکتوری را به صورت فایلی با فرمت txt در آورید و در صورت نیاز از آن پرینت بگیرید. علاوه بر DOS از نرم‌افزار Notepad ویندوز نیز می‌توان برای این کار استفاده کرد. در ادامه مطلب با پی‌سی‌ترفند همراه باشید تا با نحوه انجام این کار آشنا شوید.

روش اول) کد نویسی در محیط DOS

ابتدا پنجره Command Prompt را در ویندوز باز کنید. (ساده ترین راه تایپ عبارت CMD در پنجره Run است)

فرض کنید یک پوشه با نام  shahvar در درایو D دارید و قرار است لیستی از محتویات پوشه را به صورت یک فایل متنی آماده کنید. برای شروع از طریق خط فرمان داس به مسیر مورد نظر بروید.

با توجه به مثال ذکر شده، ابتدا برای وارد شدن به درایو D، دستور :D را وارد کنید و کلید Enter را فشار دهید.

 

سپس میبایست وارد پوشه Shahvar شویم. برای این منظور از دستور CD استفاده کنید.

CD shahvar

اگر با فرمان Dir در داس آشنایی داشته باشید حتما می‌دانید که این فرمان برای نمایش محتویات مسیر جاری بر روی صفحه نمایش استفاده می‌شود. حالا کافی است با اضافه کردن یک نماد اضافه به این فرمان، محتویات پوشه را به جای نمایش در مانیتور، در یک فایل متنی با نام دلخواه (مثلا shahvar.txt) ذخیره کنید.

برای این منظور از فرمان فوق به صورت زیر استفاده می‌کنیم: (دقت داشته باشید بعد از DIR یک فاصله خالی تایپ شود)

Dir  >shahvar.txt

 
کار تمام است. حالا می‌توانید پنجره Command Prompt داس را ببندید و از طریق My Computer ویندوزتان وارد پوشه مربوطه شوید. خواهید دید که یک فایل متنی با نام Shahvar.txt در مسیر یاد شده ایجاد شده که محتویات پوشه مورد نظرتان در آن موجود است. در همان محیط Dos هم می‌توانید با دستور edit Shahvar.txt فایل متنی را مشاهده کنید.
 
توضیحات تکمیلی :

چنانچه می‌خواهید فایل متنی ساخته‌شده حاوی اطلاعاتی دیگری نیز باشد از دستورات زیر بجای dir استفاده کنید.

dir/s تمام فایل‌های موجود در ریشه و دایرکتوری‌های زیرمجموعه آن‌را نمایش می‌دهد.

dir/a فایل‌های دارای خصوصیات خاص را نمایش می‌دهد: h برای فایل‌های مخفی، r برای فایل‌های فقط خواندنی، d لیست دایرکتوری‌ها، s فایل‌های سیستمی و... . مثال:

dir/ah

dir/b فقط نام و پسوند فایل را بدون اطلاعات اضافی دیگر نمایش می‌دهد.
dir/l نام فایل‌ها را با حروف کوچک نمایش می‌دهد.
dir/-c سایز فایل‌ها را بدون علامت، برای جداسازی سه رقم نشان می‌دهد.
dir/n نمایش لیست فایل‌ها به اینصورت که نام فایل‌ها در سمت راست نشان داده می‌شود.
dir/o برای نمایش فایل‌ها بصورت مرتب شده. n بر اساس نام، s بر اساس سایز، e بر اساس پسوند فایل، d بر اساس تاریخ/زمان و ... مثال:

dir/on

dir/p اگر لیست فایل‌ها بیش از یک صفحه باشد، بعد از پر شدن صفحه اول، برای مشاهده صفحات بعد باید کلیدی را بفشارید.
dir/w برای نمایش نام فایل‌ها در چند ستون متناسب با ابعاد صفحه نمایش.
dir/x نمایش فایل‌ها بصورت استاندارد 8 حرفی برای محیط DOS.
بطور مثال:

 

dir c: /ah /s > c:dir.txt

لیست کلیه فایل‌های مخفی در درایو C را درون فایل متنی با نام dir.txt قرار می‌دهد.
dir c: /s > prn

لیست کلیه فایل‌های موجود در درایو C را به چاپگر می‌فرستد.

برای اینکه بتوانید با یک دستور، همه محتویات فایل‌ها و پوشه‌‌های موجود در پوشه مورد نظر را تبدیل به یک فایل متنی منظم کنید می‌بایست از سوییچ  S به صورت زیر استفاده کنید:

Dir /s  >shahvar.txt

روش دوم) کد نویسی در محیط ویندوز و در نرم افزار Notepad

برای اینکار کافیست کدهای مورد نظر را در فایل Notepad کپی کنید و سپس فایل را با هر نام دلخواهی با پسوند bat. ذخیره کنید. این فایل را به پوشه‌ی مورد نظرتان انتقال داده و برای اجرای دستورات روی فایل دوبار کلیک کنید.
بطور مثال برای اینکه لیست فایل‌ها و پوشه‌های درون یک پوشه را تهیه کنید کافیست از دستور زیر استفاده کنید.
@echo off 
for /f "tokens=*" %%a in ('dir /b') do echo %%~a>>output.txt

پس از اجرای فایل bat، فایل متنی با نام output ایجاد می‌شود که لیست فایل‌ها و پوشه‌های درون پوشه‌ی مورد نظرتان در آن قرار دارد.

برای اینکه تنها لیست فایل‌ها تهیه شود از دستور زیر استفاده کنید،  

@echo off 
for /f "tokens=*" %%a in ('dir /b /a-d') do echo %%~a>>output.txt

برای اینکه تنها لیست فایل‌ها بدون پسوند فایل‌ها تهیه شود از دستور زیر استفاده کنید،

@echo off 
for /f "tokens=*" %%a in ('dir /b /a-d') do echo %%~na>>output.txt

روش سوم) دو روش فوق دارای نقایصی هستند، از جمله عدم پشتیبانی از زبان فارسی و Hyperlink نبودن اسامی. نسخه بروز شده مطلب فوق بدون وجود این نقایص را می‌توانید در اینجا مشاهده کنید.

 

منابع با تغییر: saysa.blogfa.com

shahvar.net

عضویت در خبرنامه:

نظرات (۸)

  1. از دستور لیست کردن فایل ها در یک دایرکتوری مشخص استفاده کردم.
    بسیار بسیار عالی بود.
    به کارتون ادامه دهید.
    عالی
  2. سلام.
    این روش واقعا عالی و بدرد بخوره، دستتون درد نکنه.
    فقط یه نکته، اسامی فارسی رو نمایش نمیده و جاشون علامت سوال میذاره، راهی هست برای رفع این مشکل؟
    تشکر
    • پاسخ:

      سلام
      انتهای مطلب اشاره شده است که

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

  3. سلام
    مطلب واقعا عالی بود.
    فقط یک سوال:
    با این روش امکانش هست که فقط اسم فولدر رو لود کنه و به فایل ها کاری نداشته باشه؟
    من از این دستور استفاده میکنم برای فایل bat
    @echo off
    for /f "tokens=*" %%a in ('dir /on/b/s') do echo %%~a>>MyMovies.txt
    باید تغییرش بدم؟
    • پاسخ:

      سلام
      راستش کدها رو خودم ننوشتم و از سایت دیگه گرفتم که منابعش رو آخر مطلب نوشته‌ام.
      اما اگر از روشی که در این مطلب گفته شده استفاده کنید و در فایرفاکس لیست رو بر اساس نام مرتب کنید فایل‌ها و پوشه‌ها جدا می‌شوند.
      موفق باشید.
    • پاسخ:

      سلام
      روش هایپرلینک شدن اتوماتیک لیست درون اکسل، در اینجا شرح داده شده است.
      موفق باشید.

  4. پیمان اسلامی

    باسلام
    این روش برای فایلهای با خروف انگلیسی عالیست اما برای فایلهای با حروف فارسی مشکل دارد. برای آن چطور میشه انجا داد.
    باتشکر
  5. سلام
    راهنمایی زیر خیلی به دردم خورد
    http://click-ha.mihanblog.com/post/22
    منتها می خوام بدونم راهی هست همین کار رو واسه اکسل بکنیم؟
    یه هارد دارم می خوام اسم پوشه هاش رو تو اکسل لیست کنم
    ویندوزم ایکس پی هست

    سپاس
    • پاسخ:

      : ممنون برای این کار می توانید محتویات فایل txt را درون فایل اکسل کپی کنید یا مستقیما بجای پسوند txt از پسوند xls استفاده کنید. Dir >shahvar.xls

ارسال نظر

قبل از ارسال نظر به نکات زیر توجه کنید:

۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.

۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.

۳- تنها به سوالاتی پاسخ داده می‌شود که از نحوه حل آن‌ها اطلاع داشته باشم.

۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده می‌شود و به آن‌ها پاسخی داده نمی‌شود.

الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،

ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
X بستن