Secara default, PowerShell di Windows tampaknya mengeluarkan UTF-16 (misalnya, jika saya melakukan yang sederhana echo hello > hi.txt
, kemudian hi.txt
berakhir di UTF-16). Saya tahu bahwa saya bisa memaksakan ini pada penyandian teks yang saya inginkan dengan melakukan echo hello | out-file -encoding utf8 hi.txt
, tetapi yang saya inginkan adalah menjadi default ketika saya menggunakan operator redirection. Apakah ada cara untuk mencapai hal ini?
powershell
redirection
character-encoding
Benjamin Pollack
sumber
sumber
Jawaban:
Menggunakan dekompiler .NET pada System.Management.Automation assembly (alias "Microsoft Windows PowerShell Engine Core Assembly") mengungkapkan fragmen kode ini:
Jadi, itu terlihat sangat sulit bagi saya.
FYI, ini pada sistem Windows 7 Enterprise x64 dengan PowerShell 2.0 diinstal.
sumber
CommandParameterInternal.CreateParameterWithArgument(PositionUtilities.EmptyExtent, "Encoding", "-Encoding:", PositionUtilities.EmptyExtent, "Unicode", false, false);
Tidak yakin apakah ini akan melakukan apa yang Anda cari, tetapi Anda dapat mencoba mengatur variabel lingkungan seperti yang disebutkan di sini
sumber
$OutputEncoding
cukup yang saya butuhkan; yang diatur ke ASCII di PowerShell, dan memengaruhi cara hal-hal ditampilkan . Yang ingin saya lakukan adalah mengubah format teks yang disimpan dalam file, yang (AFAICT) berbeda dari$OutputEncoding
kontrol apa .