Edited at

コマンドプロンプトの文字化けが鬱陶しいのでCHCPラッパー書いた

More than 3 years have passed since last update.

タイトルの通りです。GitHubにあります。


?p?X???[?h:

 今ちょっとPostgreSQLが使いたいです。起動します。


Capture.PNG


 おっと会話が成り立たないアホがひとり登場~


使い方

 質問文が文字化けしたら全員テスト0点なの知ってたか?マヌケ


Capture.PNG


(事前にパスを通す必要があります)


CHCP

 なんでこうなるの?という部分はGoogle先生に任せますが、これを解決するにはCHCPコマンドを叩けばOKです。

 こんなやつです。

chcp 65001

 で、戻すときはこうです。

chcp 932

 分かりますか? 分かんないですよね。

 僕もコピペしていて意味わからないですし、そもそもこんなのいちいち覚えてられませんので、ラッパーを書きます。


PowerShellスクリプト

 .batで十分書けそうな内容ですが、XML活用してオサレ感をアピールしたいのでPowerShellスクリプトで書きます。

 管理者権限とか煩いやつですが、幸いにして穴だらけなので気にしなくていいです。

 コアな部分はこんな感じ。


code.ps1

# 検索キーワード

$arg = $args[0]

# スクリプトと同じ場所にあるXMLファイル読み込み
$path = $MyInvocation.MyCommand.Path | Split-Path -Parent | %{ Join-Path $_ list.xml }
$list = ([xml](Get-Content $path)).chcp.entity

# XMLを検索してchcp実行
$code = $list | ?{ $_.key -eq $arg } | %{$_.value}
chcp @($code)[0]


(超簡単なので解説とかは特に)ないです。


関係あるかもしれない記事