やりたいこと
早い話がlinuxでの tail -f *** をやりたい、です。コマンドプロンプトではできないようですがPowerShellで可能のようです。Get-Contentというコマンドを使用します。

Get-Content (Microsoft.PowerShell.Management) - PowerShell
Get-Content コマンドレットは、ファイル内のテキストや関数の内容など、パスで指定された場所にある項目の内容を取得します。 ファイルの場合、コンテンツは一度に 1 行ずつ読み取られ、それぞれがコンテンツ行を表すオブジェクトのコレクシ...
コマンド
PowerShell
Get-Content -Path [ファイルパス] -Tail [末尾行数] -Encoding [文字コード] -Wait
- -Path [ファイルパス]
内容を見たいファイルです。ファイルパスにスペースが含まれる場合は””で囲みます。
こちらの記事でエクスプローラーで開いているフォルダをカレントディレクトリとしてPowerShellを起動する方法を紹介しています。
https://chun-log.jp/powershell-open-folder/ - -Tail [末尾行数]
コマンド実行時点で画面に表示するファイル末尾からの行数を指定します。0を指定するとコマンド実行時点では何も出力されず、-Waitを併用していれば以降ファイルの追記分が出力されます。 - -Encoding [文字コード]
ファイルの文字コードです。UTF-8の場合utf8と指定します。
デフォルト(指定しなかった場合)は utf8NoBOM だそうですが、私の実行環境ではUTF-8(BOMなし)で出力しているファイルを指定なしで開くと文字化けが発生しました。
[文字コード]に指定できる値はこちら。
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/get-content?view=powershell-7.5#-encoding - -Wait
今回の本題となるオプションです。linux等で使用できるtailコマンドの -f オプションにあたります。
このオプションを指定することでコマンド実行後待機状態となりファイルに追記された内容がほぼリアルタイム(1秒毎にチェックしているようです)で出力されます。



コメント