PowerShell Dosyaya Yaz | PowerShell Dosyaya Yazmaya Hızlı Bakış


PowerShell Dosyaya Yazmaya Giriş

Aşağıdaki makalede PowerShell Dosyaya Yazma için bir taslak sağlanmaktadır. Oluşturulan çıktının bir dosyaya yazılması gereken çeşitli senaryolar vardır. Örneğin, dokümantasyon amaçlı, hata günlüğü tutma veya hata ayıklama amaçlı olabilir. PowerShell'de bir dosyaya çıktı yazmanın birden fazla yolu vardır ve metin, csv, xml veya html dosyaları gibi çeşitli dosya türlerini oluşturmak için cmdlet'ler vardır.

Farklı Cmdlet

Aşağıda farklı cmdlet'ler, bunların parametreleri ve kullanımları ayrıntılı olarak ve uygun örneklerle birlikte verilmektedir.

1. Dosya Dışı

Bu, çıktıyı kullanıcının tercih ettiği bir dosyaya gönderen temel bir cmdlet'tir. Varsayılan olarak çıktı dosyasını oluşturmak için dahili biçimlendirme mekanizmasını kullanır. Çıktı, konsolda görüntülenme biçimiyle aynı biçimde yazılır.

Sözdizimi:

Out-File [-FilePath] <string> [[-Encoding] <Encoding>] [-Append] [-Force] [-NoClobber] [-Width <int>] [-NoNewline] [-InputObject <psobject>] [-WhatIf] [-Confirm] [<CommonParameters>]

Parametreler:

  • -Ekle: Bu, çıktıyı mevcut dosyaya ekler. Bu parametrenin veri türü bir anahtardır. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Onayla: Bu, cmdlet çalıştırılmadan önce kullanıcı onayının alınmasını sağlar. Parametrenin veri türü bir anahtardır. Cf bu parametrenin takma adıdır. Yanlış varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Kodlama: Bu, çıktı dosyasını oluştururken PowerShell tarafından kullanılması gereken kodlama mekanizmasını belirtir. Çeşitli kodlama türleri şunlardır: ascii, utf32, utf8BOM, utf8NoBOM, utf7, utf8, oem ve Unicode. Varsayılan değer utf8NoBOM'dur. Bu parametrenin veri türü Kodlamadır. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -FilePath: Bu, çıktı dosyasının konumunu temsil eder. Bu parametrenin veri türü bir dizedir. Takma adı yoldur. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Force: Bu parametre mevcut salt okunur bir dosyanın üzerine yazmak için kullanılır. Switch bu parametrenin veri türüdür. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -InputObject: Çıktı dosyasına gönderilmesi gereken nesneleri temsil eder. Nesneleri tutan bir değişken veya sonucu bir nesne koleksiyonu olan bir ifade olabilir. Bu parametrenin veri türü PSObject'tir. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanır ancak joker karakterlere izin verilmez.
  • -LiteralPath: Bu aynı zamanda çıktı dosyasının konumunu da temsil eder. Bir dize, bu parametrenin veri türüdür ve takma adları PSPath ve LP'dir. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanır ancak joker karakterlere izin verilmez.
  • -NoClobber: Bu, dosyaların üzerine yazılmasını önlemek için kullanılır. Çıkış dosyası mevcutsa bir mesaj görüntülenir. Bu kullanılmazsa dosyanın üzerine yazılır. Bu parametrenin veri türü bir anahtardır. Varsayılan değer hiçbiridir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -NoNewLine: Bu, çıktıya yeni satırların eklenmesini önlemek için kullanılır. Yeni satır eklenmez. Bu parametrenin veri türü bir anahtardır. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Genişlik: Bu, çıktının her satırında kaç karakter olması gerektiğini temsil eder. Uzunluk bu sınırı aşarsa bu karakterler kesilir. Varsayılan sınır 80'dir. Dolayısıyla bu parametrenin veri türü 80'dir. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.

Örnek:

Kod:

Write-Host "Demo of out file cmdlet" -ForegroundColor Green
Write-Host "writing to a text file" -ForegroundColor Green
for($i=0;$i -le 10; $i++)
{
$out="Added" | Out-File -FilePath C:\vignesh\demo.txt -Append
}
Write-Host "Demo of limit width to 2"
for($i=10000;$i -le 10010; $i++)
{
$out="Added" | Out-File -FilePath C:\vignesh\demo1.txt -Append -Width 2
}
Write-Host "Displaying the output from the files" -ForegroundColor Green
Get-Content -Path "C:\vignesh\demo.txt"
Get-Content -Path "C:\vignesh\demo1.txt"

Çıktı:

2. Set İçeriği

Bu cmdlet, dosyanın mevcut içeriğinin üzerine yazması ve ekleme yapmaması dışında içerik eklemeye de benzer.

Sözdizimi:

Set-Content [-Path] <string[]> [-Value] <Object[]> [-PassThru] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-Credential <pscredential>] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding <Encoding>] [-AsByteStream] [-Stream <string>] [<CommonParameters>]

Parametreler:

  • -Onayla: Bu, cmdlet çalıştırılmadan önce kullanıcı onayının alınmasını sağlar. Parametrenin veri türü bir anahtardır. Cf bu parametrenin takma adıdır. Yanlış varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Kodlama: Bu, çıktı dosyasını oluştururken PowerShell tarafından kullanılması gereken kodlama mekanizmasını belirtir. Çeşitli kodlama türleri şunlardır: ascii, utf32, utf8BOM, utf8NoBOM, utf7, utf8, oem ve Unicode. Varsayılan değer utf8NoBOM'dur. Bu parametrenin veri türü Encoding Pipeline'dır. Giriş bu parametre tarafından tanınmaz ve joker karakterlere izin verilmez.
  • -FilePath: Bu, çıktı dosyasının konumunu temsil eder. Bu parametrenin veri türü bir dizedir. Takma adı yoldur. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.
  • -Force: Bu parametre mevcut salt okunur bir dosyanın üzerine yazmak için kullanılır. Switch bu parametrenin veri türüdür. Yok varsayılan değerdir. Bu parametre ardışık düzen girişini tanımıyor; ayrıca joker karakterlere izin verilmez.

Örnek:

Kod:

Write-Host "Demo of set content cmdlet" -ForegroundColor Green
Write-Host "writing to a text file" -ForegroundColor Green
for($i=0;$i -le 10; $i++)
{
$out="Added" | Set-Content -Path C:\vignesh\demo.txt
}
Write-Host "Displaying the output from the files" -ForegroundColor Green
Get-Content -Path "C:\vignesh\demo.txt"
Write-Host "Rewriting the contents of the file"
$out="newly added" | Set-Content -Path C:\vignesh\demo.txt
Get-Content -Path "C:\vignesh\demo.txt"

Çıktı:

Sonuç - PowerShell Dosyaya Yazma

Böylece yazıda PowerShell'de dosyaya yazmanın nasıl yapıldığı ayrıntılı olarak anlatılmıştır. Uygun örneklerle birlikte çeşitli yöntemleri, bunların parametrelerini ve söz dizimini açıkladı. Bu, örnek senaryolar yazıp uygulayarak ayrıntılı olarak öğrenilebilir.

İlgili makaleler