######本記事は未解決記事です。ご了承ください。解決方法を試しながら随時編集します。
######また、解決方法をコメントでいただけると大変助かります。
SEに必須のドキュメント作成を、なんとか自動化できないかと目論んでいます。
PowerShellで出力したデータをExcelのマクロで動かすために、[日付 + 日本語]で出力できるソースを開発しています。
# 年月日の情報を取得
$date = Get-Date -Format "yyyyMMdd_HHmm"
# tempフォルダを作成
New-Item C:\temp_$date\ -ItemType Directory
cd C:\temp_$date\
# ~ 中略 ~
# パッチ情報の更新日を記載
$patchdata = Get-Date -Format "yyyy/MM/dd"
"$patchdata 時点(構築時点)での最新HotFix" | out-file status.csv -Append
出力ファイルをOut-Fileコマンドを使用してCSVファイル出力すると文字化けを起こします。
Excelでも同様の文字化けを起こします。
2019/10/29 譎らせ・域ァ狗ッ画凾轤ケ・峨〒縺ョ譛譁ーHotFix
色々調べると、メモ帳では文字コードにUTF-8(Shift-JISから移行したっぽい?)が使用されていることが問題みたいでした。
そこで、検証用のコードを作成しました。
-Encoding default でShift-JIS出力、-Encoding UTF-8 でUTF-8出力が可能です。
# 年月日の情報を取得
$date = Get-Date -Format "yyyyMMdd_HHmm"
# tempフォルダを作成
New-Item C:\temp_$date\ -ItemType Directory
cd C:\temp_$date\
# ~ 中略 ~
# パッチ情報の更新日を記載
$patchdata = Get-Date -Format "yyyy/MM/dd"
"$patchdata 時点(構築時点)での最新HotFix" | out-file status.csv -Append
"$patchdata 時点(構築時点)での最新HotFix" | out-file status.csv -Encoding default -Append
"$patchdata 時点(構築時点)での最新HotFix" | out-file status.csv -Encoding UTF-8 -Append
結果は惨敗でした。
改行をしていないのでより変になっていますが、すべての文字コードで失敗していることは分かります。
2019/10/29 譎らせ・域ァ狗ッ画凾轤ケ・峨〒縺ョ譛譁ーHotFix
〲㤱ㄯ⼰㤲芙苧膹衅覯駦릂䖁ꞁ臣肜雦䢰瑯楆൸
現在は文字化けしない手段を探しています。