私はそれが書き込まれている間私がログファイルの出力を見ることを可能にするUnixの 'tail'コマンドと同等のものを探しています。
GNU Utilities for Win32 のようなものをインストールすることをお勧めします。それは尾を含むほとんどのお気に入りがあります。
PowerShellを使用している場合、これは機能します。
Get-Content filenamehere -Wait -Tail 30
下からStefanのコメントを投稿して、人々がそれを見逃さないようにする
PowerShell 3では、最後のx行だけを含めるための-Tailパラメーターが導入されました。
Cygwin の一部としてtailを取得することができます。
かなりの数の選択肢がありますが、それらのすべてにはより高度な機能の欠点があります。
Windows Server 2003ツール は、 リソースキットツールと一緒にダウンロード にすることができる単純な末尾を提供します。それは多くの点であまりにも制限されています(ファイルに追従するロック、 - pidのような多くのオプションを欠いています)、しかしファイルを追跡する基本的なタスクのためにするでしょう。
GnuWin32 tail はバグが多いです( αβγ )。
UnxUtils tail はより良いように見えます(-fは機能しますが、--pidはそうではない、-nはそうではありませんが--lines = nは-fで失敗します)が、死んだプロジェクトのようです。
Cygwin は非常に醜いもので、おそらくDLLや coreutilsパッケージ を使うことができます - しかしネイティブのwin32プロセスでは動作しない--pidのような問題がまだあります。
バッチコマンドを使用したDOS CMDの末尾(下記参照)。 それは完璧ではない、そして時々繰り返す。 使用法:tail.bat -d tail.bat -f -f.
__コード__.
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
rem tail.bat -d <lines> <file>
rem tail.bat -f <file>
rem ****** MAIN ******
IF "%1"=="-d" GOTO displayfile
IF "%1"=="-f" GOTO followfile
GOTO end
rem ************
rem Show Last n lines of file
rem ************
:displayfile
SET skiplines=%2
SET sourcefile=%3
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%find_lc%-!skiplines!
rem *** Display to screen line needed
more +%skiplines% %sourcefile%
GOTO end
rem ************
rem Show Last n lines of file & follow output
rem ************
:followfile
SET skiplines=0
SET findend_lc=0
SET sourcefile=%2
:followloop
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET findend_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%findend_lc%-%find_lc%
SET /A skiplines=%find_lc%-%skiplines%
rem *** Display to screen line when file updated
more +%skiplines% %sourcefile%
goto followloop
:end
Tail For Windows を使った。確かに使うほどエレガントではない
尾
Log Expert ここの回答のどこにも見たことがありません。
これはカスタマイズ可能で、ログファイルを巡回するのに非常に適しています。これまでのところ、これは私にとって最高のWindowsグラフィカルログビューアです。
何もインストールしたくないのであれば、標準のWindowsコマンドから仕事をする「自分の」バッチファイルを作成することができます。これを行う方法についていくつかのポインタがあります。
1)find/c/v "" yourinput.fileを使用して、入力ファイルの行数を取得します。出力は次のようになります。
---------- T.TXT: 15
2)for/fを使用して、この出力を解析して数値15を取得します。
3)set/aを使用して、スキップする必要があるヘッド行の数を計算します
4)for/f "skip = n"を使用して、先頭行をスキップし、末尾行をエコー/処理します。
時間があれば、そのようなバッチファイルを作成してここに投稿します。
Windows PowerShellでは、次のものを使用できます。
Get-Content <file> -Wait
私は Mtail を最近使ったが、うまくいっているようだ。これは上記のbaretailのようなGUIタイプです。
UNIX用のWindowsサービス を試してください。シェルだけでなく、awk、sedなども提供します。
Microsoft 自体からWindows Server 2003 Resource Kit Tools
の一部であるtailコマンドをダウンロードしてください。
他の選択肢は _ msys _ をインストールすることです(これはCygwinよりも軽量です)。
TailMeは1つのウィンドウで同時に複数のログファイルを見ることができるのでTailMeを好みます。 http://www.dschensky.de/Software/Staff/tailme_en.htm
tail
コマンドおよび他の多くのものが Windows Resource Kit Tools パッケージで利用可能です。
DOS 持っています no tailコマンド。 GNU tailおよびその他のGNU tools ここ 用のWindowsバイナリをダウンロードできます。
DOSのtype
は* nuxのcat
のように動作しますが、cat
のようにファイル全体をダンプしますので、本当のtail
ではありませんが、本当のtail
の代わりにダウンロード/インストールしなくても利用できます。
この小さなバッチスクリプトを書きました。 Unixの "tail"ほど洗練されたものではありませんが、出力をファイルの最後の10行に制限するなど、誰かがそれを追加して改善することができればいいのですが。 〜[at]〜gmail.comを盗み見てください。
@echo off
:: This is a batch script I wrote to mimic the 'tail' UNIX command.
:: It is far from perfect, but I am posting it in the hopes that it will
:: be improved by other people. This was designed to work on Windows 7.
:: I have not tested it on any other versions of Windows
if "%1" == "" goto noarg
if "%1" == "/?" goto help
if "%1" == "-?" goto help
if NOT EXIST %1 goto notfound
set taildelay=%2
if "%taildelay%"=="" set taildelay=1
:loop
cls
type %1
:: I use the CHOICE command to create a delay in batch.
CHOICE /C YN /D Y /N /T %taildelay%
goto loop
:: Error handlers
:noarg
echo No arguments given. Try /? for help.
goto die
:notfound
echo The file '%1' could not be found.
goto die
:: Help text
:help
echo TAIL filename [seconds]
:: I use the call more pipe as a way to insert blank lines since echo. doesnt
:: seem to work on Windows 7
call | more
echo Description:
echo This is a Windows version of the UNIX 'tail' command.
echo Written completely from scratch by Andrey G.
call | more
echo Parameters:
echo filename The name of the file to display
call | more
echo [seconds] The number of seconds to delay before reloading the
echo file and displaying it again. Default is set to 1
call | more
echo ú /? Displays this help message
call | more
echo NOTE:
echo To exit while TAIL is running, press CTRL+C.
call | more
echo Example:
echo TAIL foo 5
call | more
echo Will display the contents of the file 'foo',
echo refreshing every 5 seconds.
call | more
:: This is the end
:die
Far Manager で、を押します F3 ファイルに標準ビューアを入力し、次に End ファイルの末尾に移動するためのキー。
ファイルが更新されると、Far Managerはそれを自動的にスクロールします。
Cygwinをインストールするのではなく、いくつかのUnixユーティリティのWin32ポートを使用したい場合は、 GNU Win32 用のユーティリティをお勧めします。
Cygwinよりも軽量で、よりポータブルです。
私は Kiwi Log Viewerを使用しています 。それは無料です。
バッチファイルでtail関数のニーズを満たすユーティリティを見つけたと思います。それは "mtee"と呼ばれ、そしてそれは無料です。私は現在取り組んでいるバッチファイルにそれを組み込んでいます、そしてそれは仕事を非常にうまく行います。実行可能ファイルをPATHステートメントのディレクトリに配置するようにしてください。
これがリンクです:
WinTail も試すことができます。
辛抱強い
グラフィカルログビューアは、ログファイルを表示するのに非常に適していますが、スクリプト(またはバッチファイル)に組み込むことができるコマンドラインユーティリティの必要性を満たしていません。多くの場合、そのような単純で汎用のコマンドは、特定の環境向けの特殊なソリューションの一部として使用できます。グラフィカルメソッドはそのような用途には向いていません。