การแปลงไฟล์ข้อความเป็น UTF-8 บนพรอมต์คำสั่งของ Windows


18

ฉันต้องการแปลงไฟล์ข้อความเป็นรูปแบบ UTF-8 ผ่านทางพรอมต์คำสั่งของ Windows ต้องดำเนินการกับเครื่องอื่นและฉันไม่มีสิทธิ์ในการติดตั้งซอฟต์แวร์ในเครื่องนั้น ฉันต้องการบางสิ่งเช่น:

c:\notepad   source-file target-file --encoding option

มียูทิลิตีพรอมต์คำสั่งของ Windows ซึ่งสามารถทำได้หรือไม่?

คำตอบ:


30

ฉันจำเป็นต้องแปลงไฟล์ข้อความเป็นรูปแบบ utf-8 ผ่านทางพรอมต์คำสั่ง windows

คุณสามารถทำได้อย่างง่ายดายด้วย PowerShell:

Get-Content .\test.txt | Set-Content -Encoding utf8 test-utf8.txt

อ่านเพิ่มเติม


นอกจากนี้คุณต้องเปลี่ยนไปใช้ PowerShell เพื่อดำเนินการคำสั่งแล้วออกจากระบบเพื่อกลับไปที่พรอมต์คำสั่งของ windows
user1107888

จริง หรือเรียกใช้โดยตรงในเชลล์ PowerShell
DavidPostill

@DavidPostill ความคิดใด ๆ ที่เราสามารถแปลงไฟล์มากกว่าหนึ่งไฟล์เช่นการประมวลผลแบทช์ด้วยบรรทัดคำสั่งเดียวกันได้หรือไม่
vibs2006

1
@ vibs2006 ใช้การForEachวนซ้ำ ดูForEach - PowerShell - SS64.com
DavidPostill

วิธีนี้จะแปลงเป็น UTF-8 ธรรมดาหรือ UTF-8-BOM หรือไม่
Cale Sweeney

2

ใช้iconvจาก GNUWin32 แพ็ค มันเร็วกว่ามากโดยเฉพาะถ้าไฟล์ของคุณมีค่าประมาณหรือมากกว่า 1 Gb

"C:\Program Files (x86)\GnuWin32\bin\iconv.exe" -f cp1251 -t utf-8 source.txt > result.txt

สิ่งที่ไม่cp1251ธงทำอย่างไร
lacostenycoder

มันคือการเข้ารหัสอินพุต en.wikipedia.org/wiki/Windows-1251
nadre

2

นี่คือสำหรับการแปลงไฟล์ * .text แต่ละไฟล์เป็น * .sql:

foreach ($file in get-ChildItem *.txt) {
    Echo $file.name
    Get-Content $file | Set-Content -Encoding utf8 ("$file.name" +".sql")
 }

หลังจากรันไฟล์ sql บางข้อผิดพลาดบางครั้งฉันตัดสินใจใช้ linux ด้วยคำสั่ง iconv =))
nobjta_9x_tq
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.