PowerShellクリップボードの文字列を置き換えてUTF8BOM無しのテキストファイルに出力する

powershell コンピュータ
powershell
PowerShellコンソールで実行
Get-Clipboard -Format Text | % { $_ -replace "[\s|:「」]", ""} | % { $_ -replace "\.+", "、" } | Out-String |% { [Text.Encoding]::UTF8.GetBytes($_) } | Set-Content -Path ".\01.txt" -Encoding Byte
PowerShellは、クリップボードに簡単にアクセスできる点は良いのですが、出力されるテキストファイルがBOM有りなのが好みに合わないところです。
動きとしてはまずGet-Clipboardでクリップボードから文字列を取得しreplace部分の正規表現で文字を置き換え、Out-Stringで配列?を改行区切りの文字列に変換、UTF8の文字列をバイナリに変換しファイル保存という流れです。
無理にファイル出力せずに、置き換え処理の後クリップボードに戻してあげてメモ帳などに貼り付ける使い方が良い場面もありそうです。

コメント