Es tatsächlich ist Schwanz für XP, es ist nur , dass Microsoft nicht installiert es mit der Standardversion von XP; Sie haben es in "Windows Server 2003 Resource Kit Tools" gepackt. Sie können es hier bekommen: microsoft.com/downloads/…
mobaXTerm, es ist kostenlos und hat ein Protokoll von Plugins, Sie können tail -f /drives/c/logs/mylog.log
surfealokesea
3
Ich denke nicht, dass dies geschlossen werden sollte, da ich dasselbe brauche, um die Ablaufverfolgung in meiner Windows-Anwendung zu debuggen. Es geht um "Software-Tools, die häufig von Programmierern verwendet werden", die zum Thema gehören
kristianp
Antworten:
137
Ich würde vorschlagen, etwas wie GNU Utilities für Win32 zu installieren . Es hat die meisten Favoriten, einschließlich Schwanz.
Ich habe gerade versucht, GNUs tailfür eine 2-GB-Datei zu verwenden, und es ist erstickt. morehat gut funktioniert (zumindest den Anfang der Datei anzeigen).
Eric J.
@EricJ., Das gleiche für mich. Auf einer 3GB Datei kann ich headaber nicht tail... Ideen?
Alphaaa
@Alphaaa: Ich vermute, es hat mit den Betriebssystemaufrufen zu tun, die GNU Utilities verwendet. Siehe stackoverflow.com/a/4003487/141172
Eric J.
@EricJ., Danke, das scheint in der Tat relevant zu sein. Aber ich habe gerade festgestellt, dass es für mich einfacher ist, eine tail
Das ist gut zu wissen; Vielen Dank. Aber ich hatte ein paar Probleme damit (unter Windows 7). (1) Es zeigt die gesamte Datei an (nicht gut für eine massive Protokolldatei, weshalb taildies nützlich sein kann). (2) Es ist nicht so dynamisch, wie ich es gerne hätte (möglicherweise aufgrund von Änderungen des Betriebssystems / Dateisystems zwischen meinem Setup und anderen Postern ?). Das heißt, ich habe festgestellt, dass die Shell Get-Contentmanchmal nicht aktualisiert wird, bis ich dirin einer anderen Shell ausgeführt werde.
mpontillo
10
Ich denke, es ist erwähnenswert, dass PowerShell das Scrollen / Ausgeben anhält, wenn Sie etwas im Terminalfenster auswählen, damit Sie lesen, kopieren / einfügen usw. können. Wenn Sie die Eingabetaste drücken, wird das Scrollen fortgesetzt.
Cbednarski
18
PowerShell 3 führt einen -Tail-Parameter ein, der nur die letzten x Zeilen enthält
Stefan Haberl
8
Sollte die richtige Antwort für Powershell nicht so etwas sein Get-Content -Tail 100 -Wait .\logfile.log?
Henno Vermeulen
62
Ich habe Baretail immer zum Tailing in Windows verwendet. Es ist kostenlos und ziemlich nett.
Bearbeiten: Für eine bessere Beschreibung von Baretail siehe diese Frage
Dies war die erste Lösung, die unter Windows Server 2003 R2 SP1 für mich funktioniert hat! Super einfach mit Installer, arbeitete für Tailing Wasily direkt aus der Box :)
Cellepo
Das Herunterladen und Ausführen nicht signierter ausführbarer Dateien über HTTP ist wahrscheinlich keine gute Idee. Zumindest sollte man über ihre HTTPS-Site herunterladen .
Zero3
Ich finde es erstaunlich, dass sie die Site weiterhin pflegen und das SSL-Zertifikat auf dem neuesten Stand halten, während die Software seit 2006 nicht mehr aktualisiert wird. Es funktioniert jedoch einwandfrei. Genau das, was ich brauchte. Windows Defender findet keine Bedrohung.
Jeder, der an einem DOS- CMD-Tail mit Batch-Befehlen interessiert ist (siehe unten).
Es ist kein Präfekt und Zeilen wiederholen sich manchmal.
Verwendung: 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
Das ist klug und ich möchte die vorhandenen Funktionen nutzen, wenn das Herunterladen eines Tools keine Option ist! Dieser Code verbraucht jedoch CPU, da er sich im Follow-up für -f kontinuierlich dreht.
Armstrhb
1
hatte das gleiche Problem beim Herunterladen und Essen von CPU! fügte diese Zeile ping 127.0.0.1 -n 2 > nulvor goto followloop. Es sendet zwei Pings und wartet 1 in Sekunden dazwischen. so würde es CPU leben lassen !: D
Mohsen ZareZardeyni
Genial! Vielen Dank
John Fairbanks
1
Warum Ping einsetzen, wenn Sie es nutzen könnten timeout /t 2?
Namezero
23
Es gibt eine ganze Reihe von Optionen, jedoch weisen alle Fehler mit erweiterten Funktionen auf.
GnuWin32 Schwanz ist fehlerhaft ( α β γ ) - Dinge wie -f funktionieren einfach nicht.
UnxUtils Schwanz scheint besser zu sein (-f funktioniert, aber --pid scheint nicht, -n aber nicht --lines = n schlägt mit -f fehl), scheint aber ein totes Projekt zu sein.
Cygwin ist ein großer hässlicher Brei, könnte vielleicht nur das DLL- und Coreutils-Paket verwenden - hat aber immer noch Probleme wie --pid, das nicht mit nativen Win32-Prozessen funktioniert.
Ich zweite Tail für Windows. Ich mag es, weil ich mehrere Dateien im selben Fenster öffnen und überwachen kann.
Paul
Die Powershell GC-Schwanz-Methode funktioniert nicht, wenn Sie auf einem Posh 1 oder Posh 2.x sind. Die gc-tail-Funktionalität wurde in Posh 3.0 hinzugefügt.
user1390375
16
Mit Windows PowerShell können Sie Folgendes verwenden:
Ich liebe die Funktionen von Log Expert, aber meine Erfahrung mit Win 7 64-Bit war fehlerhaft.
Clay
Ich vermisse die "klare Sicht" -Funktionalität.
Daniel Hári
13
Wenn Sie überhaupt nichts installieren möchten, können Sie eine "eigene" Batchdatei erstellen, die die Aufgabe mit Standard-Windows-Befehlen erledigt. Hier sind einige Hinweise, wie es geht.
1) Mit find / c / v "" yourinput.file ermitteln Sie die Anzahl der Zeilen in Ihrer Eingabedatei. Die Ausgabe ist so etwas wie:
---------- T.TXT: 15
2) Analysieren Sie diese Ausgabe mit for / f , um die Nummer 15 zu erhalten.
3) Berechnen Sie mit set / a die Anzahl der Überschriften, die übersprungen werden müssen
4) Mit for / f "skip = n" überspringen Sie die Überschriften und geben Sie die Endzeilen wieder.
Wenn ich die Zeit finde, werde ich eine solche Batch-Datei erstellen und hier zurück posten.
BEARBEITEN: tail.bat
REM tail.bat
REM
REM Usage: tail.bat <file> <number-of-lines>
REM
REM Examples: tail.bat myfile.txt 10
REM tail.bat "C:\My File\With\Spaces.txt" 10
@ECHO OFF
for /f "tokens=2-3 delims=:" %%f in ('find /c /v "" %1') do (
for %%F in (%%f %%g) do set nbLines=%%F )
set /a nbSkippedLines=%nbLines%-%2
for /f "usebackq skip=%nbSkippedLines% delims=" %%d in (%1) do echo %%d
Hier ist der Stapel der vorherigen Erklärung. Es werden die letzten 10 Zeilen der aktuellen Datei angezeigt: ____ für / f "Token = 3" %% f in ('find / c / v ""% 0') setze nbLines = %% f ____ setze / a nbSkippedLines = % nbLines% -10 ____ für / f "skip =% nbSkippedLines% delims =" %% d in (% 0) gibt %% d wieder
Nicolas
1
Genau das will das Poster und es funktioniert einwandfrei.
Jackie Yeh
Danke für den Code! Ich habe es der Antwort mit der korrigierten Parameternummer und einer zusätzlichen zur Anzahl der Zeilen hinzugefügt. Beachten Sie, dass die Zeilen einen Ausgang anzeigen. PS: Ich habe damit eine 1,5-GB-Datei erstellt und die Ergebnisse in nur 15 Sekunden erhalten.
Leopoldo Sanczyk
In Schritt 4 wäre es sogar noch besser, den Befehl 'more' zu verwenden, der einen Parameter für die Anzahl der zu überspringenden Zeilen verwendet. Noch schneller würde ich denken.
Philibert Perusse
8
Ich habe Mtail kürzlich verwendet und es scheint gut zu funktionieren. Dies ist der oben erwähnte GUI-Typ wie Baretail.
"Ja wirklich?" Sie laufen herum und stimmen vier Jahre alte Antworten ab? Weg, um einen Beitrag zu leisten.
Dave
9
@ Dave: Obwohl die Frage alt ist, schauen die Leute immer noch darauf und versuchen, die beste Antwort zu finden. Wenn eine Antwort von vor fast 5 Jahren nicht mehr relevant oder gut ist, warum sollte man sie dann nicht ablehnen? Auf dieser ganzen Website geht es darum, wertvolle Informationen schneller zu erhalten - heute, nicht vor 5 Jahren.
Oliver
1
@Hellfire - Sie sollten die Antwort mit der Maßgabe bearbeiten, dass sie mit Wwindows 7 nicht funktioniert. Es ist dumm, nur einen Kommentar abzugeben.
DOS typefunktioniert wie * nux cat, obwohl es genau so ist cat, als würde es die gesamte Datei sichern, so dass es nicht wirklich wahr ist tail, aber es wird zur Not verfügbar sein, ohne einen echten tailErsatz herunterzuladen / zu installieren .
Ich habe gerade dieses kleine Batch-Skript geschrieben. Es ist nicht so ausgefeilt wie das Unix "Tail", aber hoffentlich kann jemand etwas hinzufügen, um es zu verbessern, z. B. die Ausgabe auf die letzten 10 Zeilen der Datei zu beschränken usw. Wenn Sie dieses Skript verbessern, senden Sie es bitte zu mir beim berauben ~ [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
nette Idee mit dem Befehl "type", aber Sie können nicht darauf zugreifen!
eadmaster
Dadurch wird die Textdatei immer wieder neu geladen.
Die Batch-Version von echo hat ein seltsames Verhalten. Wenn keine Argumente angegeben werden, wird sie nur beendet. Wenn Sie den Befehl jedoch wie echo.einen nachgestellten Punkt auf dem Wort aufrufen (und nicht als separates Argument), wird eine einzelne neue Zeile gedruckt.
Es ist 70 € pro Installation. Das ist nicht kostenlos.
Sergey Podobry
0
Grafische Protokollbetrachter eignen sich zwar sehr gut zum Anzeigen von Protokolldateien, erfordern jedoch kein Befehlszeilenprogramm, das in Skripts (oder Batchdateien) integriert werden kann. Oft kann ein solcher einfacher und universeller Befehl als Teil einer speziellen Lösung für eine bestimmte Umgebung verwendet werden. Grafische Methoden eignen sich nicht ohne weiteres für eine solche Verwendung.
Ich glaube, ich habe ein Dienstprogramm gefunden, das die Anforderungen für die Tail-Funktion in Batch-Dateien erfüllt. Es heißt "mtee" und ist kostenlos. Ich habe es in eine Batch-Datei aufgenommen, an der ich arbeite, und es macht den Job sehr gut. Stellen Sie einfach sicher, dass die ausführbare Datei in einem Verzeichnis in der PATH-Anweisung abgelegt ist, und los geht's.
Antworten:
Ich würde vorschlagen, etwas wie GNU Utilities für Win32 zu installieren . Es hat die meisten Favoriten, einschließlich Schwanz.
quelle
tail
für eine 2-GB-Datei zu verwenden, und es ist erstickt.more
hat gut funktioniert (zumindest den Anfang der Datei anzeigen).head
aber nichttail
... Ideen?tail
Wenn Sie PowerShell verwenden, funktioniert dies:
Poste Stefans Kommentar von unten, damit die Leute ihn nicht verpassen
PowerShell 3 führt einen -Tail-Parameter ein, der nur die letzten x Zeilen enthält
quelle
tail
dies nützlich sein kann). (2) Es ist nicht so dynamisch, wie ich es gerne hätte (möglicherweise aufgrund von Änderungen des Betriebssystems / Dateisystems zwischen meinem Setup und anderen Postern ?). Das heißt, ich habe festgestellt, dass die ShellGet-Content
manchmal nicht aktualisiert wird, bis ichdir
in einer anderen Shell ausgeführt werde.Get-Content -Tail 100 -Wait .\logfile.log
?Ich habe Baretail immer zum Tailing in Windows verwendet. Es ist kostenlos und ziemlich nett.
Bearbeiten: Für eine bessere Beschreibung von Baretail siehe
diese Fragequelle
Sie können Schwanz als Teil von Cygwin bekommen .
quelle
Jeder, der an einem
DOS-CMD-Tail mit Batch-Befehlen interessiert ist (siehe unten).Es ist kein Präfekt und Zeilen wiederholen sich manchmal.
Verwendung: tail.bat -d tail.bat -f -f
quelle
ping 127.0.0.1 -n 2 > nul
vorgoto followloop
. Es sendet zwei Pings und wartet 1 in Sekunden dazwischen. so würde es CPU leben lassen !: Dtimeout /t 2
?Es gibt eine ganze Reihe von Optionen, jedoch weisen alle Fehler mit erweiterten Funktionen auf.
GnuWin32 Schwanz ist fehlerhaft ( α β γ ) - Dinge wie -f funktionieren einfach nicht.
UnxUtils Schwanz scheint besser zu sein (-f funktioniert, aber --pid scheint nicht, -n aber nicht --lines = n schlägt mit -f fehl), scheint aber ein totes Projekt zu sein.
Cygwin ist ein großer hässlicher Brei, könnte vielleicht nur das DLL- und Coreutils-Paket verwenden - hat aber immer noch Probleme wie --pid, das nicht mit nativen Win32-Prozessen funktioniert.
quelle
Ich habe Tail für Windows verwendet . Sicher nicht so elegant wie mit
Aber dann verwenden Sie Windows. ;)quelle
Mit Windows PowerShell können Sie Folgendes verwenden:
quelle
Ich habe Log Expert unter den Antworten hier nirgends gesehen.
Es ist anpassbar und eignet sich gut zum Umgehen von Protokolldateien. Bisher ist es der beste grafische Windows-Protokoll-Viewer für mich.
Leider ist diese Software nicht mehr verfügbar. Sie können darüber auf archive.org lesen .
quelle
Wenn Sie überhaupt nichts installieren möchten, können Sie eine "eigene" Batchdatei erstellen, die die Aufgabe mit Standard-Windows-Befehlen erledigt. Hier sind einige Hinweise, wie es geht.
1) Mit find / c / v "" yourinput.file ermitteln Sie die Anzahl der Zeilen in Ihrer Eingabedatei. Die Ausgabe ist so etwas wie:
2) Analysieren Sie diese Ausgabe mit for / f , um die Nummer 15 zu erhalten.
3) Berechnen Sie mit set / a die Anzahl der Überschriften, die übersprungen werden müssen
4) Mit for / f "skip = n" überspringen Sie die Überschriften und geben Sie die Endzeilen wieder.
Wenn ich die Zeit finde, werde ich eine solche Batch-Datei erstellen und hier zurück posten.
BEARBEITEN:
tail.bat
quelle
Ich habe Mtail kürzlich verwendet und es scheint gut zu funktionieren. Dies ist der oben erwähnte GUI-Typ wie Baretail.
quelle
Laden Sie den Befehl tail
Windows Server 2003 Resource Kit Tools
von Microsoft selbst herunter .quelle
Probieren Sie Windows Services für UNIX aus . Bietet Muscheln, awk, sed usw. sowie Schwanz.
Update -: Ab 2019 ist dieses System leider nicht mehr im Microsoft Download Center verfügbar.
quelle
Ich bevorzuge TailMe, da mehrere Protokolldateien gleichzeitig in einem Fenster angezeigt werden können: http://www.dschensky.de/Software/Staff/tailme_en.htm
quelle
DOS hat keinen Endbefehl; Sie können einen Windows - Binary für GNU Schwanz und andere GNU - Tools Download hier .
quelle
Eine andere Möglichkeit wäre die Installation von MSYS (das leichter als Cygwin ist).
quelle
DOS
type
funktioniert wie * nuxcat
, obwohl es genau so istcat
, als würde es die gesamte Datei sichern, so dass es nicht wirklich wahr isttail
, aber es wird zur Not verfügbar sein, ohne einen echtentail
Ersatz herunterzuladen / zu installieren .quelle
Ich habe gerade dieses kleine Batch-Skript geschrieben. Es ist nicht so ausgefeilt wie das Unix "Tail", aber hoffentlich kann jemand etwas hinzufügen, um es zu verbessern, z. B. die Ausgabe auf die letzten 10 Zeilen der Datei zu beschränken usw. Wenn Sie dieses Skript verbessern, senden Sie es bitte zu mir beim berauben ~ [at] ~ gmail.com.
quelle
echo.
einen nachgestellten Punkt auf dem Wort aufrufen (und nicht als separates Argument), wird eine einzelne neue Zeile gedruckt.Der
tail
Befehl und viele andere sind im Windows Resource Kit Tools- Paket verfügbar .quelle
Wenn Sie Win32-Ports einiger Unix-Dienstprogramme verwenden möchten (anstatt Cygwin zu installieren), empfehle ich GNU-Dienstprogramme für Win32 .
Leichter als Cygwin und tragbarer.
quelle
Installieren Sie das MKS Toolkit ... damit Sie alle Unix-Befehle unter Windows ausführen können.
Der Befehl lautet:
quelle
Drücken Sie in Far ManagerF3 auf eine Datei, um den Standard-Viewer aufzurufen , und drücken Sie dann die EndTaste, um zum Dateiende zu navigieren.
Wenn die Datei aktualisiert wird, wird sie von Far Manager automatisch gescrollt.
quelle
Ich benutze Kiwi Log Viewer . Es ist kostenlos.
quelle
Grafische Protokollbetrachter eignen sich zwar sehr gut zum Anzeigen von Protokolldateien, erfordern jedoch kein Befehlszeilenprogramm, das in Skripts (oder Batchdateien) integriert werden kann. Oft kann ein solcher einfacher und universeller Befehl als Teil einer speziellen Lösung für eine bestimmte Umgebung verwendet werden. Grafische Methoden eignen sich nicht ohne weiteres für eine solche Verwendung.
quelle
Sie können auch WinTail ausprobieren .
ََ
quelle
Ich glaube, ich habe ein Dienstprogramm gefunden, das die Anforderungen für die Tail-Funktion in Batch-Dateien erfüllt. Es heißt "mtee" und ist kostenlos. Ich habe es in eine Batch-Datei aufgenommen, an der ich arbeite, und es macht den Job sehr gut. Stellen Sie einfach sicher, dass die ausführbare Datei in einem Verzeichnis in der PATH-Anweisung abgelegt ist, und los geht's.
Hier ist der Link:
mtee
quelle