PowerShellメモ iniファイルを読み込んでみる

野暮用で必要になったので。
ポイントはこんなとこ。

  • Import-Csvコマンドレットを使う
  • 読み取った内容はキーと値ってことでハッシュに格納する

用意したiniファイルはConfigure.iniってファイル名にして内容はこんな感じ。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# iniファイルの中身
Parameter=123
Location=D:\Program Files\Application
Message=Hello! I am tetsuyanbo.
# iniファイルの中身 Parameter=123 Location=D:\Program Files\Application Message=Hello! I am tetsuyanbo.
# iniファイルの中身
Parameter=123
Location=D:\Program Files\Application
Message=Hello! I am tetsuyanbo.

んで、コードはこんな感じ。
$location変数で定義しているパスはお好きなとこにどぞ。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 変数の初期化をする
$location = "C:\Users\tetsuyanbo\Desktop\Configure.ini"
$configure = @{}
# iniファイルを読み込む
# ※区切り文字が入ってない行は無視されるので1行目はコメント扱いと同じになる
Import-Csv -Path $location -Header Key,Value -Delimiter "=" | %{$configure.Add($_.Key.Trim(),$_.Value.Trim())}
# 結果を表示する
$configure
# 変数の初期化をする $location = "C:\Users\tetsuyanbo\Desktop\Configure.ini" $configure = @{} # iniファイルを読み込む # ※区切り文字が入ってない行は無視されるので1行目はコメント扱いと同じになる Import-Csv -Path $location -Header Key,Value -Delimiter "=" | %{$configure.Add($_.Key.Trim(),$_.Value.Trim())} # 結果を表示する $configure
# 変数の初期化をする
$location = "C:\Users\tetsuyanbo\Desktop\Configure.ini"
$configure = @{}
# iniファイルを読み込む
# ※区切り文字が入ってない行は無視されるので1行目はコメント扱いと同じになる
Import-Csv -Path $location -Header Key,Value -Delimiter "=" | %{$configure.Add($_.Key.Trim(),$_.Value.Trim())}
# 結果を表示する
$configure

実行してみるとこんな感じ。
値はちゃんと読み取れてるっぽ。
ただ、このままだとコメントの扱いがうまくできなさそうかも。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>powershell -ExecutionPolicy Bypass -File Proto.ps1
Name Value
---- -----
Message Hello! I am tetsuyanbo.
Location D:\Program Files\Application
Parameter 123
>powershell -ExecutionPolicy Bypass -File Proto.ps1 Name Value ---- ----- Message Hello! I am tetsuyanbo. Location D:\Program Files\Application Parameter 123
>powershell -ExecutionPolicy Bypass -File Proto.ps1

Name                           Value                                                  
----                           -----                                                  
Message                        Hello! I am tetsuyanbo.                                
Location                       D:\Program Files\Application                           
Parameter                      123

んまま、明日への自分へのメモってことで。