【Windowsd Powershell Baby Step その2】CSVファイルの読み取り 2020/09/28

Pocket

株式会社ナレッジベースの杉山です。

前回Windows Powershellを使った記事を書いたのですが、あることに気が付きました。

【Windowsd Powershell Baby Step】のシリーズで記事を書こうとしていたことに・・・。

前回の【Windowsd Powershell Baby Step その1】が2017年だったのが衝撃的でした。

うん、まったく記憶から消えていました。

Powershellに関する記事のタイトルを変更してやろう思ったのですがやめときます。
変えても誰も気が付かないでしょうけど。

今回は、前回プリンタを一括設定する際にCSVファイルで設定用のリストを作成してスクリプトで処理しました。

ですので、CSVファイルの読み込みをImport-Csvで実装します。

読み込むファイルは、下記の通りです。
文字コードはUTF-8を使用しています。

Id,Name
A001,名前A001
A002,名前A002
B001,名前B001
C001,名前C001
D001,名前C002
D002,名前D001

はい、実際のコードは下記の通りです。

$args = Import-Csv -Path c:\temp\indata.csv
Foreach($arg in $args){
    Write-Host '引数の値' $arg.Name
}

実行結果は、下記のようになりました。

引数の値 名前A001
引数の値 名前A002
引数の値 名前B001
引数の値 名前C001
引数の値 名前C002
引数の値 名前D001

おまけで、ちょっと捻ってshift-jisでカブ区切りのTSV形式の場合、下記の通りです。

$args = Import-Csv -Path c:\temp\indata_sjis.csv -Delimiter `t -Encoding Default
Foreach($arg in $args){
    Write-Host '引数の値' $arg.Name
}

Encodeをshift_jisと設定したかったのですが、うまくできないまま本日終了です。

 

Trackback URL

Leave a Reply