بالنسبة للمبتدئين، قد تبدو أداة البحث عن الأنماط مثل findstr عديمة الفائدة. ولكن عند التعامل مع ملفات السجل التي أنشأها النظام أو مخرجات سطر الأوامر التي تحتوي على مئات الأسطر النصية، فإن findstr هي الأداة التي تحتاجها فقط.
سيكون مستخدمو نظام التشغيل Linux على دراية بالأداة المساعدة المذهلة لأمر Grep، ويقوم findstr بدور مماثل في Microsoft Windows. يمكنك دمجها مع أوامر أخرى باستخدام الأنابيب أو مجرد تشغيلها مباشرة لتحليل ملفات نصية متعددة. دعونا نلقي نظرة على كيفية عمل findstr مع بعض الأمثلة.
استخدام أمر Findstr
بناء الجملة الأساسي بسيط - findstr
findstr SFC example1.txt
سيبحث هذا الأمر عن كافة الأسطر التي تحتوي على سلسلة البحث SFC ويخرجها. لاحظ أن findstr حساس لحالة الأحرف بشكل افتراضي، لذا لن تتم مطابقة أي إشارات إلى SFC.
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-1-compressed.png)
المعلمات
يمكنك تخصيص كيفية عمل findstr بشكل أكبر من خلال تضمين معلمات اختيارية. تقوم مفاتيح التبديل مثل /B أو /I بتعديل سلوك findstr، مما يفرض شروطًا إضافية على البحث. على سبيل المثال:
findstr /I SFC example1.txt
إن تضمين /I كمعلمة يجعل عملية البحث غير حساسة لحالة الأحرف، مما يسمح بمطابقة جميع الإشارات إلى المصطلح، بغض النظر عن الكتابة بالأحرف الكبيرة. يمكنك العثور على قائمة بجميع معلمات findstr في مستندات مايكروسوفت الرسمية.
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-2-compressed.png)
الأنماط الاختيارية
المعلمات ليست الطريقة الوحيدة التي يمكنك من خلالها تخصيص findstr. على سبيل المثال، يتيح لك تضمين
findstr "SFC DISM" example1.txt
سيُرجع ما ورد أعلاه الأسطر المطابقة التي تحتوي على أي من المصطلحين. وهذا يجعلها مفيدة عند البحث عن إشارة لعنصر بأسماء مختلفة.
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-3-compressed.png)
التعبيرات العادية
Findstr قادر على البحث في ملفات متعددة. يؤدي تغيير
findstr SFC *.txt
يؤدي استخدام حرف البدل إلى مطابقة التعبير العادي لجميع الملفات النصية الموجودة في الدليل الحالي وأدلته الفرعية. يتم أيضًا فصل النتائج حسب أسماء الملفات، مما يتيح لك معرفة السطر الذي نشأ منه الملف.
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-4-compressed.png)
الأنابيب
مثل معظم أوامر cmd، يمكن أيضًا استخدام findstr في إخراج الأوامر الأخرى. ما عليك سوى إضافة أنبوب بعد نهاية الأمر الهدف واستدعاء findstr بدون
دير | Findstr .txt
يؤدي هذا إلى تشغيل بحث findstr على مخرجات الأمر dir، مما يؤدي إلى إرجاع قائمة الملفات التي تنتهي بـ .txt. بالطبع، هذا المثال بالتحديد غير مفيد من الناحية العملية نظرًا لأن dir يمكنه بالفعل تحديد موقع الملفات من نفس النوع باستخدام تعبير عادي.
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-5-compressed.png)
يمكن للمرء أيضًا أن يسلك المسار الأطول إعادة توجيه الإخراج إلى ملف نصي ثم يستخدم findstr في الملف النصي، ولكن من الأسهل قطع الوسيط.
تطبيقات Findstr في نظام التشغيل Windows
تظهر الاستخدامات الواضحة لـ findstr بسهولة من خلال بناء الجملة وحده. يمكنك البحث عن ملفات نصية تحتوي على سلسلة نصية محددة أو معرفة ما إذا كانت هناك سلسلة معينة موجودة في الملف.
على الرغم من أن هذا مفيد من الناحية النظرية، إلا أنه نادرًا ما يتم استخدامه خارج الحالات النادرة. في عصر الخدمات السحابية مثل مستندات Google، لم يعد لدى معظم الأشخاص العديد من الملفات النصية.
تعد التطبيقات الفعلية لـ findstr أكثر دقة وتتضمن نتائج أكثر قوة. فيما يلي بعض الأمثلة الأكثر إثارة للاهتمام.ص>
البحث عن أنواع معينة من الملفات
يتضمن الأمر dir بالفعل خيار البحث عن أسماء الملفات باستخدام التعبيرات العادية. ولكن باستخدام findstr، يمكنك البحث عن الملفات التي تشترك في سمات أخرى، مثل وقت أو تاريخ الإنشاء.
لنفترض حدوث خطأ في الساعة 06:43 مساءً، وتريد تحديد موقع جميع ملفات السجل التي تم إنشاؤها في ذلك الوقت. باستخدام الأمر dir وحده، سيتعين عليك التدقيق يدويًا في النتائج أو الحصول على جميع ملفات السجل ومقارنتها. باستخدام findstr، يصبح هذا أمرًا بسيطًا.
دير | Findstr 06:43
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-6-compressed.png)
يمكنك تجربة نفس الحيلة للعثور على الملفات التي تم إنشاؤها في تاريخ معين أو الحصول على قائمة بالأدلة.
دير | Findstr DIR
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-7-compressed.png)
تصفية معلومات الشبكة باستخدام Netstat.
نتستات هو أمر مفيد لنظام التشغيل Windows يمنحك جميع المعلومات حول اتصالات شبكة الكمبيوتر الخاص بك - الكثير من المعلومات، وهنا يأتي دور findstr.
يتيح لك توصيل مخرجات netstat إلى findstr البحث عن اتصالات ذات خصائص معينة. على سبيل المثال، هذه هي الطريقة التي يمكنك بها الحصول على قائمة بجميع الاتصالات التي تم إنشاؤها.
نيتستت | تم تأسيس findstr
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-8-compressed.png)
هذه الخدعة مفيدة عند تشخيص مشكلات الشبكة. يمكنك أيضًا استخدام findstr مع PID للتطبيق للعثور على جميع الاتصالات المفتوحة بواسطة عملية معينة.
نيتستت -o | Findstr 13120
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-9-compressed.png)
الحصول على عناوين IP محددة
يتيح لك الأمر ipconfig عرض تفاصيل جميع واجهات الشبكة الخاصة بالأنظمة، بما في ذلك عناوين IP. يمكنك استخدام findstr لاستخراج نوع معين من عنوان IP دون الحاجة إلى التمرير خلال كل شيء.
إيبكنفيغ | findstr مؤقت
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-10-compressed.png)
يمكنك توسيع هذه الطريقة للحصول على أي معلومات من ipconfig، بدءًا من أقنعة الشبكة الفرعية وحتى عناوين البوابة.
تحليل ملفات البرنامج النصي
أيًا كانت لغة البرمجة التي تستخدمها في البرمجة، فإن ملفات البرامج النصية هي في النهاية مجرد نص. وهذا يعني أنه يمكنك استخدام findstr لتحليل البرامج النصية واسترداد أقسام معينة دون البحث في الكود بالكامل.
لنفترض أننا نريد أن نرى كيف تم استخدام عبارة if في برنامج نصي معين. يمكننا استخدام الأمر التالي:
findstr if script.ahk
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-11-compressed.png)
لن يؤدي هذا إلى عرض السطور التي تستخدم عبارة if فحسب، بل سيُظهر لنا أيضًا التعبيرات المستخدمة. يمكنك أيضًا تضمين المعلمة /N لعرض أرقام الأسطر، وهو أمر مفيد جدًا لملفات البرامج النصية.
findstr /N if script.ahk
![](/images/5360/findstr-examples-and-tips-using-this-handy-windows-tool-12-compressed.png)
هل يستحق Findstr الاستخدام؟
تتمثل الصعوبة الرئيسية في التنقل في واجهة سطر الأوامر في مقدار النص الذي يحتاج المرء إلى التدقيق فيه. تُعد Findstr أداة أساسية لاستخراج المعلومات المفيدة وتصفية الملفات غير المرغوب فيها.
نظرًا لأن جميع أوامر الوحدة الطرفية تعطي مخرجات مستندة إلى النص، فيمكن دائمًا استخدام findstr لتحديد موقع البيانات ذات الصلة. بدءًا من استكشاف مشكلات الشبكة وإصلاحها وحتى العثور على الملفات الصحيحة، أصبح كل إجراء أكثر كفاءة باستخدام findstr..ص>
حتى خارج نطاق التآزر مع الأوامر الأخرى، يعد findstr مفيدًا لقدرته على اجتياز محتويات الملفات النصية. يمكنك العثور على أخطاء محددة في ملفات السجل التي تم إنشاؤها آليًا أو استرداد أجزاء من التعليمات البرمجية في برنامج نصي معقد.
باختصار، تعتبر findstr أداة لا غنى عنها في ترسانة أي مستخدم Windows متقدم، وخاصة المستخدم الذي يرغب في التعرف على واجهة سطر الأوامر.
.