PowerShellでファイルの内容を表示するコマンドを紹介します。
コマンド
ファイルを開いて内容を表示するには Get-Content コマンドを利用します。
書式
コマンド例
Get-Content C:\Windows\setupact.log
Get-Content main_form.cs
実行例1
テキストファイルを作成します。下図の内容とします。
作成したファイルを
c:\develop\product.txt
として保存します。文字エンコーディングはANSI (SHIFT-JIS) で保存します。
コマンドプロンプトを起動し、カレントディレクトリを
c:\develop
に変更し以下のコマンドを実行します。
Get-Content .\Price.txt
コマンドを実行するとテキストファイルの内容が表示されます。
補足
UTF-8, UnicodeなどShift-JIS以外のエンコーディングで保存したテキストファイルをGet-Contentコマンドで表示した場合、
出力が文字化けするため注意が必要です。
文字化けを対処する方法としてエンコーディングを指定して開く方法があります。
詳細は
こちらの記事を参照してください。
実行例2:スクリプトファイル内で変数に格納する
以下のスクリプトファイルを作成します。
$lines = Get-Content "c:\develop\product.txt"
foreach ($txt in $lines) {
Write-Host("「"+$txt+"」")
}
または
$lines = Get-Content "c:\develop\product.txt"
for ($i=0; $i -lt $lines.Length; $i++ ) {
Write-Host("["+$lines[$i]+"]")
}
解説
c:\develop\product.txt
ファイルを読み込み、
$lines
変数(配列)に代入します。
$lines
は配列で、1行ごとに1つの要素に読み込んだファイルが代入されます。
$lines = Get-Content "c:\develop\product.txt"
foreach または for ループで$lines配列の内容をコンソールに出力します。
変数に代入された値が出力されていることを確認するために、文字列の前後に "「" "」" や "[" "]" を付加します。
foreach ($txt in $lines) {
Write-Host("「"+$txt+"」")
}
for ($i=0; $i -lt $lines.Length; $i++ ) {
Write-Host("["+$lines[$i]+"]")
}
実行結果
テキストファイルを用意します。以下の内容とします。Shift-JISエンコーディングで "c:\develop\product.txt" に保存します。
スクリプトを実行します。テキストファイルの内容を読み込み、 行ごとに "「" "」" や "[" "]" を付加した文字列を出力できています。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
最終更新日: 2024-01-07
作成日: 2023-03-24