LoginSignup
13
10

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-08-08

タイトルの通りです。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]

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

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

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10