BLOGTIMES
2021/06/23

Windows 上で UTF-8(BOM有、CR+LF)を UTF-8(BOM無、LF)に変換する

  powershell  charset 
このエントリーをはてなブックマークに追加

Windows 上で UTF-8 のファイルをを生成すると BOM で改行コードは CR+LF になってしまうので、Windows の標準機能だけで BOM で改行コードは LFに変換してみました。

ワンライナーだとこんな感じでしょうか。
(hoge.txtの部分は対象となるファイルのパスに置き換えてください)

Get-ChildItem -File 'hoge.txt' | %{ $Contents =( (Get-Content $_.FullName -Raw) -replace "`r`n","`n"); $Encoding = New-Object System.Text.UTF8Encoding($False); [System.IO.File]::WriteAllText($_.FullName, $Contents, $Encoding)}

特に難しいところはありませんが、Get-Content*1System.Text.UTF8Encoding*2の部分がポイントでしょうか。

参考


こんな記事もあります 「System.Text コンストラクター WriteAllText
話題の RTX Voice をインストールしてみた
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12553
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン