[FAQ CENTER トップ]
[Powershell FAQ トップへ]



【Powershell】Powershell で tail -f を実現する



更新日:2020/02/04


ファイルをリアルタイムで監視する


Windows 10 の Powershell 5.xで Unix系の tail -f を実現する方法を紹介します。リアルタイムでファイルの最後に追加された差分を表示します。ログファイルなどは一般的にファイルの最後に文字が付けられるのでこのツールで監視すると便利です。

Windows 10でtail コマンドを実行R

get-contents コマンドレットを使用します。 -tail で表示する最後の行数を指定します。
監視対象のファイルは保存される必要があります。

以下はc:\temp\test.txt のテキストファイルを最後の5行分表示しています。 -wait オプションによりコマンドは終了せずに継続されます。

PS> get-content c:\temp\test.txt -wait -tail 5



文字コードを指定する場合は"-Encoding"オプションを使用します。

PS> get-content c:\temp\test.txt -wait -tail 5 -Encoding UTF-8




-Encodingには以下の文字の指定が可能です。


Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, UTF32, Ascii, Default, Oem, BigEndianUTF32




ファイルがロックされている


ファイルが他のプロセスにロックされている場合は以下のエラーが発生します。ロックを解除してから再度試してください。


get-content c:\temp\test.txt -wait -tail 120
get-content : 別のプロセスで使用されているため、プロセスはファイル 'C:\temp\test.txt' にアクセスできません。
発生場所 行:1 文字:1
+ get-content c:\temp\test.txt -wait -tail 120
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ReadError: (C:\temp\test.txt:String) [Get-Content], IOException
+ FullyQualifiedErrorId : GetContentReaderIOError,Microsoft.PowerShell.Commands.GetContentCommand








[Powershell FAQ トップへ]
[FAQ CENTER トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018