Bunun nedeni, yazma çıkışının varsayılan olarak karakter başına 2 bayt olan UTF-16 metin kodlaması olmasıdır. ASCII kod sayfası aralığına uyan metinle uğraşırken, her karakterin 2 baytı sıfır olacaktır.
Bu, $OutputEncoding
genel değişkeni tarafından denetlenir, böylece bunu ASCII'ye ayarlayabilirsiniz.
Açık kodlama parametresi olan cmdlet Out-File'ı kullanmak başka bir seçenektir. Çıktı yönlendirmesi yerine bunu kullanmanızı öneririm, çünkü bu sizin küresel olarak ortamınızı değiştirmekten kurtarır ($OutputEncoding
genel tercih değişkeni ayarlanarak)
Out-File kullanma ve ASCII olarak kodlamayı ayarlama örneğiniz Bu:
"abcd" | out-file "mytext.txt" -Encoding ASCII
tüm karakterler ASCII sunulabilen olduğunu unutmayın musunuz ve bu amaç için yeterli gördükleri kodlama olup olmadığını belirlemek gerekir. Şahsen UTF-8'e giderdim, çünkü ASCII eşdeğeri karakterleri 0-127 arası ASCII aralığındayken aynı zamanda uluslararası karakterleri de kullanır. Obligatory link about text encoding.
Teşekkür Bu soruyu sorduğunuz için !! –