پاورشل برای برنامه‌نویسان

پاورشل برای برنامه‌نویسان

@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 هستند که به شما امکان می‌دهند داده‌ها را بخوانید، بنویسید و پردازش کنید.

Report Page