※この記事は「2023年4月2日」に更新しました。
PowerShell(パワーシェル)のファイル出力(リダイレクトなど)について。
コマンドプロンプトだと、リダイレクト処理でテキストファイルに出力できました。
環境は、Windows 10(64bit)、PowerShell 5.11 です。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- パソコン販売歴、約5年
ファイル出力(リダイレクトなど)
ファイル出力について、紹介していきます。
PowerShell(パワーシェル)は、主に下記のコマンドレット、あるいはリダイレクト処理でファイル出力を行います。
- リダイレクト演算子
- Out-File
- Set-Content / Add-Content
それぞれ紹介していきます。
リダイレクト演算子
リダイレクト演算子(>)を使って、ファイル出力する方法です。
例えば、自分のパソコンの IPアドレス情報をテキストファイルとして記録するには以下のようにします。
ipconfig > test.txt
こうすると、テキストファイルに ipconfig の内容が記録されます(上書き)。
例えば、この直後に日付を入れる場合は以下のようにします。
Get-Date >> test.txt
test.txt の中身を見てみると、先程の ipconfig の結果の後に日付が追記されています。
つまり、>> を使えば、ファイルに追記することができるというわけです。
実行結果は以下の通りです。
Get-Content でテキストファイルの最後から20行だけ表示させました(全部表示させると長いので)。
Out-File
Out-File も同様にファイル出力をすることができます。
リダイレクト演算子とほぼ同じことができますが、-Encoding というパラメータを使えば、ファイル出力エンコードを指定することができます。
例えば、カレントディレクトリにあるフォルダ(およびファイル)の一覧をテキストとして保存するには以下のようにします。
dir | Out-File test.txt
こうすると、先程の内容は上書きされているはずです。
実行結果は以下の通りです。
ちなみに excel と word というフォルダは以前から作成したものなのであまり気にしないで下さい。
Set-Content / Add-Content
Out-File と似たコマンドレットで Set-Content(上書き)と Add-Content(追記)というものがあります。
Out-File は、書き込んでいる最中でも読み込み可能です。
最後に
今回は、ファイル出力(リダイレクトなど)について、解説しました。
ネットワークで通信状況などを記録するときにも使えるので、今回の内容は覚えておくと便利です。
必要な部分だけ抽出することもできるので、活用していきましょう。