پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: خواندن و نوشتن فایلها (Get-Content، Set-Content، Add-Content، Out-File)
از کارهای خیلی مهم در PowerShell که برای هر برنامهنویسی مفید است: خواندن و نوشتن فایلها. این دستورات به شما کمک میکنند که فایلها را باز کرده، محتوای آنها را بخوانید و یا محتوای جدید به آنها اضافه کنید.
۱. Get-Content
دستور Get-Content برای خواندن محتوای فایل به کار میرود. این دستور محتویات یک فایل را خط به خط میخواند و به شما نمایش میدهد.
مثالها:
# خواندن محتوای یک فایل Get-Content C:\test.txt
این دستور تمام خطوط داخل فایل test.txt را نمایش میدهد. اگر فایل خیلی بزرگ باشد، میتوانید با استفاده از -First فقط چند خط اول را بخوانید:
# نمایش ۵ خط اول فایل Get-Content C:\test.txt -First 5
همچنین میتوانید از -Tail برای نمایش چند خط آخر فایل استفاده کنید:
# نمایش ۵ خط آخر فایل Get-Content C:\test.txt -Tail 5
اگر بخواهید محتوای فایل را در زمان واقعی مشاهده کنید (مثلاً به صورت زنده تغییرات یک فایل متنی)، از پارامتر -Wait استفاده میکنید:
# مشاهده تغییرات در فایل به صورت زنده Get-Content C:\logfile.txt -Wait
۲. Set-Content
دستور Set-Content برای نوشتن دادهها به فایل استفاده میشود. این دستور محتویات فایل را بازنویسی میکند، به این معنی که اگر فایل قبلاً محتویاتی داشت، آن را پاک کرده و محتوای جدیدی به آن مینویسد.
مثالها:
# نوشتن محتوای جدید به یک فایل Set-Content C:\test.txt "Hello, this is a new content!"
اگر بخواهید دادههای چند خطی را به یک فایل بنویسید، میتوانید یک آرایه از رشتهها را به Set-Content بدهید:
# نوشتن چند خط به فایل Set-Content C:\test.txt -Value "Line 1" "Line 2" "Line 3"
۳. Add-Content
دستور Add-Content مشابه Set-Content است، با این تفاوت که محتوا را به انتهای فایل اضافه میکند بدون اینکه محتوای قبلی را پاک کند.
مثالها:
# افزودن محتوای جدید به انتهای فایل Add-Content C:\test.txt "This is a new line added."
شما همچنین میتوانید دادههای چند خطی را به فایل اضافه کنید:
# افزودن چند خط به فایل Add-Content C:\test.txt -Value "New line 1" "New line 2"
۴. Out-File
دستور Out-File برای ارسال خروجی به یک فایل به کار میرود. این دستور مشابه Set-Content است، اما بیشتر برای انتقال خروجی دستورات PowerShell به فایل استفاده میشود. به عبارت دیگر، شما میتوانید نتیجه اجرای یک دستور را به یک فایل منتقل کنید.
مثالها:
# ارسال خروجی یک دستور به فایل Get-Process | Out-File C:\processes.txt
این دستور تمامی پروسههای سیستم را گرفته و آنها را در فایل processes.txt ذخیره میکند.
اگر میخواهید اطلاعات جدید به انتهای فایل اضافه شوند (نه بازنویسی)، از پارامتر -Append استفاده کنید:
# ارسال خروجی به فایل و اضافه کردن آن به انتهای فایل موجود Get-Service | Out-File C:\services.txt -Append
۵. نکات مهم هنگام کار با فایلها
- خواندن فایلها: دستور
Get-Contentبرای خواندن محتوا مناسب است، اما اگر فایل خیلی بزرگ باشد، ممکن است عملکرد کمی کاهش پیدا کند. در این صورت بهتر است از-Firstیا-Tailاستفاده کنید تا فقط بخشهای خاصی از فایل را بخوانید. - نوشتن به فایل: دستور
Set-Contentمحتوای فایل را بازنویسی میکند، بنابراین اگر نمیخواهید دادههای قبلی پاک شوند، ازAdd-Contentبرای افزودن محتوا استفاده کنید. - نوشتن خروجی دستورات به فایل: اگر میخواهید نتیجه دستورات PowerShell را به یک فایل انتقال دهید،
Out-Fileگزینه بهتری است. این دستور میتواند علاوه بر نوشتن به فایل، آن را به صورت دقیقتری قالببندی کند.
۶. تمرین برای شما
۱. یک فایل متنی به نام test.txt بسازید و در آن جملهای بنویسید.
۲. محتوای فایل را با استفاده از Get-Content نمایش دهید.
۳. سپس محتوای جدیدی را با استفاده از Set-Content به فایل اضافه کنید.
۴. بعد از آن، با استفاده از Add-Content یک خط جدید به انتهای فایل اضافه کنید.
۵. خروجی یک دستور مانند Get-Process را به یک فایل با استفاده از Out-File منتقل کنید.
🔑 خلاصهی درسنامه:
Get-Content: برای خواندن محتوای فایل.Set-Content: برای نوشتن محتوای جدید و بازنویسی فایل.Add-Content: برای افزودن محتوا به انتهای فایل.Out-File: برای ارسال خروجی دستورات به فایل.
این دستورات پایهایترین و مهمترین ابزارهای شما برای کار با فایلها در PowerShell هستند که به شما امکان میدهند دادهها را بخوانید، بنویسید و پردازش کنید.