اگر در ویندوز XP اقدام به جستجو میکردید، در بخش A word or phrase in the file میتوانستید بخشی از متنی که در یک فایل متنی (مثل اسناد، صفحات وب، فایلهای اکسل و ...) موجود است را وارد نمایید تا آن فایل پیدا شود:
بحث جستجو در محتوای فایل، برای برنامهنویسان به خصوص برنامهنویسان وب، اهمیت بسیار بالایی دارد. به طور مثال، فرض کنید، من میخواهم بدانم یک جمله خاص در کدام فایل از دهها فایل یک CMS درج شده است که آنرا به فارسی ترجمه کنم. اگر نتوانم در محتوای فایلها جستجو کنم، باید دهها فایل را یکی یکی در DreamWeaver یا نوتپد باز کنم و با زدن کلیدهای Ctrl+F دنبال آن جمله بگردم!! (هر چند که NotePad++ این امکان را میدهد که همه فایلهای متنی را باز کنید و با یک کلید در همه فایلهایی که باز شده است، جستجو کنید)
در ویندوز ویستا و ویندوز 7 این امکان به طور پیشفرض غیرفعال شده است. دلیل آن هم وقتگیر بودن جستجو در متن فایلها اعلام شده است. البته اگر در مسیری جستجو کنید که قبلاً تنظیم کردهاید که ویندوز آن مسیر را Index کند، در محتوای فایلها نیز جستجو میکند. اگر میخواهید در هر شرایطی، در ویندوز 7 در محتوای فایلها نیز جستجو صورت گیرد، میتوانید به Folder Options بروید و در تب Search در بخش What to search گزینه دوم را انتخاب کنید:
ترجمه گزینه اول: در محلهای ایندکس شده، در نام و محتوای فایلها جستجو کن و در محلهای ایندکسنشده، فقط در نام فایلها جستجو کن.
ترجمه گزینه دوم: همیشه نام و محتوای فایلها را جستجو کن (این ممکن است دقایقی طول بکشد)
نکته جانبی: در سیستم عاملها هر گاه گفته میشود file، منظور، folder نیز هست. در حقیقت، folder یا پوشه، فایلی است که به محل فایلهای دیگر اشاره دارد.
نکته 2: اگر میخواهید یک درایو را به درایوهای index شده بیافزایید، یک کلمه آزمایشی را جستجو کنید تا کادر زرد رنگی مطابق شکل زیر مشاهده شود:
روی آن کلیک کنید و Add to index را کلیک کنید.
به نظر من همه درایوهایتان را index کنید تا جستجو اولاً در محتوا و ثانیاً سریعتر صورت گیرد.
البته این را بگویم که جستجو در محتوا چندان دقیق نیست و تا به حال تقریباً در فایلهای برنامهنویسی شده به کار من نیامده است به همین دلیل میخواهم راههای بهتری معرفی کنم.
راههای بهتر:
من هم مثل خیلیهای دیگر، در کل، از امکانات جستجوی ویندوز خوشم نمیآید! (هر چند که بهبودهایی در ویندوز 7 داده شده است) طولانی بودن زمان جستجو و دقیق نبودن نتایج، از بزرگترین مشکلات آن است.
به هر حال، اگر دنبال راه حل جایگزینی برای جستجوی دقیقتر و سریعتر میگردید، من برنامه رایگان و بسیار کم حجم و بدون نیاز به نصب Search My Files را پیشنهاد میکنم:
فقط کافیست آنرا با حجم کمتر از 100 کیلوبایت از طریق لینک زیر دانلود و روی دسکتاپ خود قرار دهید و به محض نیاز داشتن، باز و جستجو کنید:
http://www.snapfiles.com/get/SearchMyFiles.html
اگر به تصویر دقت کنید، با یک مثال مشخص کردهام که چه چیزی را کجا باید تایپ کنید:
- در بخش Base Folders فولدر اصلی که در آن قصد جستجو دارید را مشخص کنید.
- در بخش Excluded Folders فولدر یا فولدرهایی که استثناء هستند و جستجو لازم نیست در آنها صورت گیرد را وارد کنید. (با کاما میتوانید از هم جدا کنید)
- در بخش Files Wildcard، پسوند فایلهایی که جستجو باید در آنها صورت گیرد را وارد کنید.
- در جلو بخش File Contains، گزینه Text را انتخاب کنید و متنی که در آن فایل باید جستجو شود را وارد کنید.
همین! (بقیه موارد را خودتان متوجه میشوید مثل حجم فایل، زمان آخرین ویرایش و ... که اختیاری هم هستند)
در نهایت Start Search را بزنید و ببینید چقدر سریع فایلهای مورد نظرتان را مییابد.
این برنامه مثل برنامه Desktop Search نیست که همیشه در حال اجرا و ایندکس کردن باشد و کلی از رم و CPU سیستم را اشغال کند در حالی که در هفته ممکن است چند بار بیشتر جستجو به این صورت انجام نشود!!
استفاده از دستور grep در ویندوز:
اگر با لینوکس کار کرده باشید، میدانید که در خط فرمان لینوکس، یک فرمان جالب داریم به نام grep که امکان جستجوی حرفهای در فایلها را میدهد.
اولاً اگر میخواهید خط فرمان لینوکس را در ویندوز به کار بگیرید، میتوانید از پروژه Cygwin کمک بگیرید:
http://cygwin.com
از طریق اینترنت یک مجموعه کتابخانه در حد 30 مگابایت را روی سیتسم شما نصب میکند و خط فرمان لینوکس را تحت ویندوز اجرا میکند.
حالا کافیست دستور زیر را در خط فرمان تایپ کنید تا فرضاً در درایو E دنبال فایلهایی با محتوای "aftab.cc" بگردد:
grep -r -i "aftab.cc" "E:"
گوگل دسکتاپ:
از Google Desktop هم میتوانید استفاده کنید که البته من چندان از عملکردش راضی نیستم.
موفق باشید؛
حمید رضا نیرومند