نحوه استفاده از دستورات FINDSTR و Select-String در ویندوز 11/10
آیا تا به حال نام FINDSTR و Select-String را شنیده اید ؟ Select-String یک cmdlet است که برای جستجوی متن و الگوها در رشته ها و فایل های ورودی استفاده می شود. شبیه grep در لینوکس(Linux) و FINDSTR در ویندوز(Windows) است. در این راهنما، نحوه استفاده از دستورات FINDSTR(FINDSTR ) و Select-String را در ویندوز 11/10 می بینیم.
آ
FINDSTR چیست(FINDSTR) و چگونه از FINDSTR استفاده کنیم(FINDSTR)
FINDSTR دستوری است که برای یافتن متن خاص در فایل های ویندوز(Windows) استفاده می شود. یافتن(Find) رشته زمانی که به طور خلاصه بیان شد تبدیل به FINDSTR شد . همچنین برای یافتن فایل هایی با متن خاص استفاده می شود. دستورات FINDSTR(FINDSTR) مختلفی برای انجام عملکردهای مختلف وجود دارد. اولین بار با کیت منبع (Resource Kit)ویندوز 2000(Windows 2000) با نام qgrep منتشر(qgrep) شد. این یک ابزار داخلی در ویندوز(Windows) است و فایل آن با فرمت exe موجود است. FINDSTR بایت های تهی را مانند فضاهای موجود در قالب یونیکد(Unicode) جستجو نمی کند .
برخی از قوانین اساسی برای استفاده از دستور findstr در Command Prompt یا دیگر مترجمان خط فرمان(Command Line Interpreters) وجود دارد که توسط مایکروسافت(Microsoft) توسعه یافته اند . آن ها هستند:
- هر دستور FINDSTR باید شامل یک رشته و نام فایل باشد.
- شما می توانید از کاراکترهای تحت اللفظی و متا کاراکترها در دستورات FINDSTR استفاده کنید. (FINDSTR)کاراکترهای تحت اللفظی معنای خاصی در نحو ندارند. حروف و اعداد را کاراکتر تحت اللفظی می نامند. متا کاراکترها نمادهایی هستند که برای هر کدام معانی خاصی دارند. در زیر متا کاراکترهای پذیرفته شده در نحو و معانی آنها آمده است.
Meta-character | Value |
---|---|
. | Wildcard – Any character |
* | Repeat – Zero or more occurrences of the previous character or class. |
^ | Beginning line position – Beginning of the line. |
$ | Ending line position – End of the line. |
[class] | Character class – Any one character in a set. |
[^class] | Inverse class – Any one character not in a set. |
[x-y] | Range – Any characters within the specified range. |
\x | Escape – Literal use of a meta-character. |
\<string | Beginning word position – Beginning of the word. |
string\> | Ending word position – End of the word. |
- هنگامی که می خواهید چندین رشته را جستجو کنید، باید یک فایل متنی با معیارهای جستجو در یک خط جداگانه ایجاد کنید.
- از(Use) فاصله بین رشتهها برای جستجوی چند رشته در یک دستور به جز نحو با استفاده
/c
کنید.
پارامترها و معنای آنها در نحو findstr
پارامتر
شرح
/ب
(Matches)اگر در ابتدای یک خط باشد با الگوی متن مطابقت دارد .
/e
(Matches)اگر در انتهای یک خط باشد با الگوی متن مطابقت دارد .
/l
رشته های جستجو را به معنای واقعی کلمه پردازش می کند.
/r
رشته های جستجو را به عنوان عبارات منظم پردازش می کند. این تنظیمات پیش فرض است.
/s
(Searches)دایرکتوری فعلی و همه زیر شاخه ها را جستجو می کند.
/من
هنگام جستجوی رشته، مورد کاراکترها را نادیده می گیرد.
/ایکس
خطوطی را چاپ می کند که دقیقا مطابقت دارند.
/v
فقط خطوطی را چاپ میکند که مطابقت ندارند.
/n
شماره خط هر خطی را که مطابقت دارد چاپ می کند.
/m
فقط نام فایل را در صورتی چاپ می کند که یک فایل دارای مطابقت باشد.
/o
قبل از هر خط منطبق، افست کاراکتر را چاپ می کند.
/پ
فایلهای دارای کاراکترهای غیرقابل چاپ را پرش میکند.
/آفلاین]
فایل هایی را که دارای مجموعه ویژگی آفلاین هستند رد نمی شود.
/f:<file>
یک لیست فایل از فایل مشخص شده دریافت می کند.
/c:<string>
از متن مشخص شده به عنوان یک رشته جستجوی تحت اللفظی استفاده می کند.
/g: <file>
رشته های جستجو را از فایل مشخص شده دریافت می کند.
/d:<dirlist>
(Searches)لیست مشخص شده دایرکتوری ها را جستجو می کند. برای مثال، هر دایرکتوری باید با یک نقطه ویرگول (;) جدا شود dir1;dir2;dir3
.
/a: <colorattribute>
ویژگی های رنگ را با دو رقم هگزادسیمال مشخص می کند. برای اطلاعات بیشتر تایپ کنیدcolor
/?
<رشته>
متن مورد نظر برای جستجوی نام فایل(filename) را مشخص می کند. ضروری.
<span “>[\<drive>:][< path>]<filename>[…]
مکان و فایل یا فایل هایی را برای جستجو مشخص می کند. حداقل یک نام فایل مورد نیاز است.
/؟
راهنما را در خط فرمان نمایش می دهد.
استفاده از دستورات findstr
1] برای جستجوی کلمه microsoft یا windows در فایل xy باید از:
findstr microsoft windows x.y
2] برای جستجوی کلمه microsoft windows در فایل xy باید از:
findstr /c:"microsoft windows" x.y
در دستور بالا /c
برای جستجوی متن مشخص شده “microsoft windows’ در فایل استفاده می شود.
3] اگر می خواهید در فایل متنی twc.txt موارد کلمه Microsoft را با M بزرگ بیابید، باید از:(Microsoft)
findstr Microsoft twc.txt
4] اگر می خواهید یک کلمه خاص مایکروسافت(Microsoft) را در دایرکتوری و زیرشاخه های آن بدون اهمیت دادن به حروف تایپ جستجو کنید، از موارد زیر استفاده کنید:
findstr /s /i Microsoft *.*
در دستور بالا، /s
برای جستجوی دایرکتوری فعلی و زیر شاخه های آن استفاده می شود. /i
برای نادیده گرفتن نوع حروف بزرگ (بزرگ M) در رشته Microsoft استفاده می شود.
5] اگر میخواهید خطوطی را پیدا کنید که با To با فاصلههای متعدد قبل از کلمه شروع میشوند و میخواهید شماره خطی را که رشتهها در آن قرار گرفتهاند نمایش دهید، از:
findstr /b /n /r /c:^ *To *.bas
6] اگر می خواهید چندین رشته را در چندین فایل با معیارهای جستجو در stringlist.txt و لیست فایل ها را در filelist.txt جستجو کنید و می خواهید نتایج ذخیره شده در فایل result.out را ببینید، از این استفاده کنید:
findstr /g:stringlist.txt /f:filelist.txt > results.out
7] اگر میخواهید فایلهایی را که حاوی کلمه thewindowsclub در یک فهرست خاص و زیرشاخههای آن هستند، پیدا کنید، از:
findstr /s /i /m \<thewindowsclub\> *.*
8] اگر میخواهید فایلهایی را پیدا کنید که حاوی thewindowsclub و کلمات دیگری هستند که با پایاننامههای مشابه، دماسنج و غیره شروع میشوند، از:
findstr /s /i /m \<the.* *.*
اینها روش هایی هستند که می توانید از دستورات findstr در مفسرهای خط فرمان مانند Command Prompt و غیره استفاده کنید. شما باید هر پارامتر و عملکرد آن و همچنین متا کاراکترها و معنای آنها را برای نوشتن نحو و استفاده منظم از دستور findstr درک کنید.
Select-String چیست و پارامترهای آن
تصور کنید(Imagine) در حال نوشتن تکههایی از کد در PowerShell هستید و رشتهها و متن خاصی را در آن فایل PowerShell از دست دادهاید. (PowerShell)شما باید آن را در هزاران خط کد در هزاران رشته و کلمه پیدا کنید. دستور Select-String(Select-String) می آید که به شما امکان می دهد رشته ها و متن را در آن فایل های ورودی PowerShell جستجو کنید. (PowerShell)این شبیه به grep در لینوکس(Linux) است.
Select-String یک cmdlet است که برای جستجوی متن و الگوهای رشته ها و فایل های ورودی استفاده می شود. شبیه grep در لینوکس(Linux) و FINDSTR در ویندوز(Windows) است. هنگامی که از Select-String برای جستجوی متن استفاده می شود، اولین تطابق را در هر خط پیدا می کند و نام فایل، شماره خط و کل خطی که تطابق در آن رخ داده را نشان می دهد. میتوان از آن برای یافتن چندین مورد منطبق در هر خط یا نمایش متن قبل یا بعد از مسابقه، یا دریافت نتایج در عبارات بولی مانند True یا False استفاده کرد. در دستور استفاده کنید WildCard هایی که در FINDSTR(FINDSTR) استفاده می(WildCards) کنیدمی تواند در Select-String نیز استفاده شود. همچنین Select-String با رمزگذاری فایل های مختلف مانند ASCII ، Unicode و غیره کار می کند. از Byte-Order-Mark ( BOM ) برای تعیین رمزگذاری فایل استفاده می کند. اگر BOM در فایل وجود نداشته باشد، Select-String فایل را به عنوان UTF8 در نظر می گیرد.
پارامترهای Select-String
مایکروسافت(Microsoft) پارامترهای زیر را پیش بینی و توسعه داد که باید در نحو استفاده شوند.
-AllMatches
از آن برای جستجوی همه مسابقات در یک خط استفاده می شود، برخلاف اولین مسابقه در خطی که Select-Sting معمولاً انجام می دهد.
-CaseSensitive
نشان دهنده این است که مسابقه به حروف بزرگ و کوچک حساس است. به طور پیش فرض، Select-String به حروف بزرگ و کوچک حساس نیست.
-Context
برای گرفتن تعداد مشخصی از خطوطی که قبل و بعد از خط مسابقه وارد می کنید استفاده می شود. اگر 1 را وارد کنید، یک خط قبل و بعد از مسابقه می گیرد.
-Culture
فرهنگ های خاصی مانند ترتیبی، ثابت و غیره در کدنویسی وجود دارد. این پارامتر برای تعیین فرهنگ در نحو استفاده می شود.
-Encoding
برای تعیین فرمت کدگذاری متن در فایل هایی مانند ASCII ، UTF8 ، UTF7 ، Unicode و غیره استفاده می شود.
-Exclude
این پارامتر برای حذف متن خاصی در فایل استفاده می شود.
-Include
این پارامتر برای گنجاندن متن خاصی در فایل استفاده می شود.
-InputObject
برای تعیین متن مورد جستجو استفاده می شود.
-List
برای بازیابی لیست فایل هایی که با متن مطابقت دارند استفاده می شود.
-LiteralPath
برای تعیین مسیر جستجو استفاده می شود.
-NoEmphasis
به طور کلی، Select-String مطابقت در فایل را برجسته می کند. این پارامتر برای جلوگیری از برجسته سازی استفاده می شود.
-NotMatch
برای یافتن متنی که با الگوی مشخص شده مطابقت ندارد استفاده می شود.
-Path
برای تعیین مسیر مورد جستجو همراه با استفاده از حروف عام استفاده می شود.
-Pattern
این پارامتر برای یافتن مطابقت در هر خط به عنوان یک الگو استفاده می شود.
-Quiet
این پارامتر برای دریافت خروجی در مقادیر بولی مانند (Boolean)True یا False استفاده می شود.
-Raw
برای مشاهده فقط اشیاء منطبق به جای اطلاعات مطابقت(Match) استفاده می شود.
-SimpleMatch
این پارامتر برای تعیین یک تطابق ساده به جای یک تطابق عبارت معمولی استفاده می شود.
تفاوت بین FINDSTR و Select-String
FINDSTR یک فایل اجرایی قبل از دوره PowerShell است که برای جستجوی متن و رشته ها در فایل ها استفاده می شود. Select-String یک cmdlet PowerShell است که برای جستجوی متن و الگوها در فایل ها استفاده می شود. در مقایسه با FINDSTR ، Select-String cmdlet قدرتمندتر و پیچیده تر است که اطلاعات زیادی را در مورد مسابقه نمایش می دهد.
معادل PowerShell grep چیست ؟
Select-String معادل PowerShell grep است که در (PowerShell)ویندوز(Windows) موجود است. عملکرد آن به همان روشی است که grep انجام می دهد و با توجه به پارامترهایی که در نحو استفاده می کنیم، اطلاعات دقیقی در مورد تطابق ارائه می دهد.
آیا FINDSTR روی فایل های Word کار می کند؟
بله، FINDSTR روی فایل های Word کار می کند. اما حتی اگر رشته هایی که وارد کرده اید در فایل وجود داشته باشد، نمی تواند موارد منطبق را پیدا کند. به دلایل فنی ناشناخته میتواند نتایجی را در فایلهای باینری با فرمتهای .doc به شما ارائه دهد، اما نه در قالبهای docx.
مطالب مرتبط(Related Read) : نحوه بررسی نسخه PowerShell در ویندوز.(How to check the PowerShell version in Windows.)
Related posts
فهرست DISKPART دستورات و نحوه استفاده از آنها در Windows 11/10
نحوه نمایش Command Line در Task Manager از Windows 11/10
چگونه برای کشتن یک فرآیند با استفاده از Command Line در Windows 10
ChkDsk Command Line Options، Switches، Parameters در Windows 10
نحوه تغییر اندازه Video با استفاده از Command-line با FFmpeg در Windows 10
نحوه بررسی Battery level با استفاده از Command line در Windows 11/10
چگونه برای اجرای Microsoft Defender از Command Line با MpCmdRun.exe
فعال کردن Network Connections در حالی که در Modern Standby در Windows 10
چگونه به بازی RTSP stream طریق Command Line Interface با استفاده از FFmpeg
Swiss File Knife یک Command Line tool مفید برای Windows است
چگونه برای باز کردن Microsoft Store apps از Command Prompt
Fix Crypt32.dll یافت نشد و یا گم خطا در Windows 11/10
نحوه استفاده از خط فرمان برای کشتن یک برنامه
نحوه غیرفعال کردن جعبه Run Command (Win+R) در Windows 10
لیستی از برنامه های راه اندازی را از طریق Command Line یا PowerShell ایجاد کنید
چگونه به روز رسانی درایور با استفاده از Command Prompt در Windows 10
چگونه برای اندازه گیری Reaction Time در Windows 11/10
Access FTP Server با استفاده از Command Prompt در Windows 10
تبدیل تصاویر بین فرمت ها از طریق خط فرمان در اوبونتو
نحوه بررسی Shutdown and Startup Log در Windows 10