بسیاری اعتقاد دارند که سیستمعامل DOS به تاریخ پیوسته است، اما این سیستمعامل هم قابلیتهای خاص خودش را دارد که یکی از آنها این است که شما میتوانید فهرست فایلهای موجود در یک دایرکتوری را به صورت فایلی با فرمت txt در آورید و در صورت نیاز از آن پرینت بگیرید. علاوه بر DOS از نرمافزار Notepad ویندوز نیز میتوان برای این کار استفاده کرد.
روش اول) کد نویسی در محیط DOS
ابتدا پنجره Command Prompt را در ویندوز باز کنید. (ساده ترین راه تایپ عبارت CMD در پنجره Run است)
فرض کنید یک پوشه با نام shahvar در درایو D دارید و قرار است لیستی از محتویات پوشه را به صورت یک فایل متنی آماده کنید. برای شروع از طریق خط فرمان داس به مسیر مورد نظر بروید.
با توجه به مثال ذکر شده، ابتدا برای وارد شدن به درایو D، دستور 😀 را وارد کنید و کلید Enter را فشار دهید.
سپس میبایست وارد پوشه Shahvar شویم. برای این منظور از دستور CD استفاده کنید.
اگر با فرمان Dir در داس آشنایی داشته باشید حتما میدانید که این فرمان برای نمایش محتویات مسیر جاری بر روی صفحه نمایش استفاده میشود. حالا کافی است با اضافه کردن یک نماد اضافه به این فرمان، محتویات پوشه را به جای نمایش در مانیتور، در یک فایل متنی با نام دلخواه (مثلا shahvar.txt) ذخیره کنید.
برای این منظور از فرمان فوق به صورت زیر استفاده میکنیم: (دقت داشته باشید بعد از DIR یک فاصله خالی تایپ شود)
Dir >shahvar.txt
چنانچه میخواهید فایل متنی ساختهشده حاوی اطلاعاتی دیگری نیز باشد از دستورات زیر بجای dir استفاده کنید.
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 نمایش فایلها بصورت استاندارد ۸ حرفی برای محیط DOS.
بطور مثال:
لیست کلیه فایلهای مخفی در درایو C را درون فایل متنی با نام dir.txt قرار میدهد.
لیست کلیه فایلهای موجود در درایو C را به چاپگر میفرستد.
برای اینکه بتوانید با یک دستور، همه محتویات فایلها و پوشههای موجود در پوشه مورد نظر را تبدیل به یک فایل متنی منظم کنید میبایست از سوییچ S به صورت زیر استفاده کنید:
روش دوم) کد نویسی در محیط ویندوز و در نرم افزار Notepad
@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 نبودن اسامی. نسخه بروز شده مطلب فوق بدون وجود این نقایص را میتوانید در اینجا مشاهده کنید.