はじめに
前回の記事では、ファイルのリスト表示を中心に説明を行いました。今回はWindows PowerShellにおけるファイルの読み込みと書き込みについて説明します。
サンプルファイルとして「都道府県.txt」というファイルを使用します。このファイルは都道府県名が1行ごとに書かれているテキストファイルです。サンプルを試す上で必要となりますので、ダウンロードしてお使いください。
ファイルを読み書きするコマンドレット
下記は、ファイルの読み書きに使用できるコマンドレットです。
コマンドレット | エイリアス | 説明 |
Add-Content | ac | 既存のファイルに指定した値を追記します。 |
Clear-Content | clc | 指定したファイルの内容を削除します。 |
Get-Content | gc, cat, type | 指定したファイルの内容を取得します。 |
Set-Content | sc | 指定したファイルに指定した内容を書き込みます。 |
New-Item | ni | ファイルを新規作成します。 |
ファイルの読み込み
ファイル読み込みの基本
PowerShellでは、ファイルの読み込みに使用できるコマンドレットとしてGet-Contentがあります。
Get-Contentコマンドレットを使用して、ファイルの読み込みを行う際の基本構文は
Get-Content -Path 読み込むファイルのパス
です。-Pathは省略することが可能です。
Get-Contentコマンドレットを実行すると、PowerShellコンソール上に、ファイルの内容が表示されます。例えば、C:\Workフォルダにある都道府県.txtというファイルを読み込むには
PS> Get-Content C:\Work\都道府県.txt
とします。
1画面に表示しきれないようなサイズのファイルはMoreコマンドを使用することで、1ページずつ表示することができます。
PS> Get-Content C:\Work\都道府県.txt | More
ファイルの行数をカウントする
Get-Contentコマンドレットが返すオブジェクトのLengthプロパティを使用すると、指定したファイルが何行であるかを取得することができます。
下記は C:\Workフォルダにある都道府県.txtというファイルの行数を取得します。
PS> (Get-Content C:\Work\都道府県.txt).Length