PowerShell'de Bir Dosyaya Değişkenler Nasıl Yazılır? [6 Yöntem]


Değişkenleri bir PowerShell dosyasına yazmak ister misiniz? PowerShell'de bir dosyaya değişken yazmak için size farklı yöntemler göstereceğim.

PowerShell'de bir dosyaya değişken yazmak için, temel çıktı ihtiyaçları için basit ve etkili olan Out-File cmdlet'ini kullanabilirsiniz. Örneğin, $değişken | Out-File -FilePath “C:\Klasörüm\file.txt” $değişkenin içeriğini belirtilen metin dosyasına yazar. Bunun yerine veri eklemeniz gerekiyorsa, İçerik Ekle'yi şu şekilde kullanın: İçerik Ekle -Yol “C:\Klasörüm\dosya.txt” -Value $değişken. Performans ve kodlama kontrolü gerektiren gelişmiş senaryolar için .NET StreamWriter sınıfından yararlanın.

PowerShell'de Bir Dosyaya Değişkenler Nasıl Yazılır?

PowerShell'de bir dosyaya değişken yazmak için çeşitli yöntemler vardır.

1. Out-File Cmdlet'ini Kullanma

Out-File cmdlet'i, çıktıyı bir dosyaya yönlendirmenize olanak tanıyan yerleşik bir PowerShell komutudur. Verileri bir değişkenden bir metin dosyasına kaydetmenin basit bir yoludur.

İşte bir örnek.

$variable = "This is a test string."
$variable | Out-File -FilePath C:\MyFolder\output.txt

Bu komut dosyası bir dizeyi bir değişkende saklar ve ardından değişkenin içeriğini Out-File'a yönlendirerek çıktının kaydedileceği dosya yolunu belirtir.

Yukarıdaki PowerShell betiğini çalıştırdım ve çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

2. Yönlendirme Operatörü

PowerShell ayrıca, PowerShell'deki bir dosyaya çıktı yazmak için yeniden yönlendirme operatörünün > kullanılmasına da olanak tanır. Bu, Bash gibi diğer kabuklardaki yeniden yönlendirme operatörüne benzer.

İşte başka bir örnek:

$variable = "Another test string."
$variable > C:\MyFolder\output.txt

Yukarıdaki satır $variable içeriğini belirtilen dosyaya yazacaktır. Dosya zaten mevcutsa üzerine yazılacaktır.

3. İçerik Ekleme Cmdlet'i

PowerShell'deki bir dosyanın üzerine yazmak yerine veri eklemek istiyorsanız İçerik Ekle cmdlet'ini kullanabilirsiniz. Bu, özellikle önceki girişleri saklamak istediğiniz günlüğe kaydetme amaçları için kullanışlıdır.

İşte tam bir PowerShell betiği.

$variable = "Appending this text to the file."
Add-Content -Path C:\MyFolder\output.txt -Value $variable

Bu PowerShell cmdlet'i $variable dizesini belirtilen dosyanın sonuna ekler.

Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

4. Küme İçeriği Cmdlet'i

PowerShell'de dosyalara yazmak için yararlı olan başka bir cmdlet Set-Content'tir. Bu cmdlet, Out-File'a benzer, ancak genellikle daha hızlıdır ve karakter kodlaması üzerinde daha fazla kontrol sağlar.

İşte bir örnek:

$variable = "Writing this string with Set-Content."
Set-Content -Path C:\MyFolder\output.txt -Value $variable

PowerShell Set-Content cmdlet'i, dosyadaki mevcut içeriğin yerine geçerek içeriği dosyaya yazar.

5. StreamWriter .NET Sınıfını Kullanmak

Daha gelişmiş dosya işlemleri için PowerShell, .NET Framework'ün StreamWriter sınıfına erişebilir. Bu yöntem, daha kontrollü veya performansa duyarlı bir senaryoda dosyalara yazmanız gerektiğinde kullanışlıdır.

İşte PowerShell betiği.

$variable = "Using StreamWriter for file output."
$stream = [System.IO.StreamWriter] "C:\MyFolder\output.txt"
$stream.WriteLine($variable)
$stream.Close()

Bu komut dosyası yeni bir StreamWriter nesnesi oluşturur ve değişkenin içeriğini dosyaya yazmak için onun WriteLine yöntemini kullanır. Dosyayı serbest bırakmak için yazdıktan sonra akışı kapatmak önemlidir.

6. CSV veya JSON'a aktarma

PowerShell ayrıca değişkenleri CSV veya JSON gibi yapılandırılmış veri dosyalarına da aktarabilir; bu, veri alışverişi veya diğer araçlarla daha ileri işlemler için çok yararlı olabilir.

CSV'ye aktar:

$variable = @(
    @{Name='John'; Age=30},
    @{Name='Jane'; Age=25}
)
$variable | Export-Csv -Path C:\MyFolder\output.csv -NoTypeInformation

Bu komut dosyası bir dizi karma tablosunu alır ve bunu bir CSV dosyası olarak dışa aktarır.

JSON'a aktar:

$variable = @{
    Name = 'John'
    Age = 30
}
$variable | ConvertTo-Json | Set-Content -Path C:\MyFolder\output.json

Bu betik, karma tablosunu JSON biçimine dönüştürür ve bunu PowerShell'deki bir dosyaya yazar.

Çözüm

PowerShell'de dosyalara değişken yazmak çok yaygın bir gereksinimdir ve basit görevler için Out-File veya Set-Content, veri eklemek için Add-Content, hızlı çıktılar için yeniden yönlendirme operatörü, performans için StreamWriter gibi yöntemlerden herhangi birini kullanabiliriz. birlikte çalışabilirlik için kritik uygulamalar ve Export-Csv ve ConvertTo-Json gibi yapılandırılmış veri aktarımları.

Bu PowerShell eğitiminde farklı yöntemler kullanarak PowerShell'de bir dosyaya değişkenlerin nasıl yazılacağını anlattım.

İlgili makaleler