Il y a en fait de la queue pour XP, c'est juste que Microsoft ne l'installe pas avec la version standard de XP; ils l'ont empaqueté dans des «outils de kit de ressources de Windows Server 2003». Vous pouvez l'obtenir ici: microsoft.com/downloads/…
mobaXTerm, c'est gratuit et a un journal de plugins, vous pouvez faire tail -f /drives/c/logs/mylog.log
surfealokesea
3
Je ne pense pas que cela aurait dû être fermé, car j'ai besoin de la même chose pour déboguer le traçage dans mon application Windows. Il s'agit des "outils logiciels couramment utilisés par les programmeurs", qui est sur le sujet
kristianp
Réponses:
137
Je suggère d'installer quelque chose comme GNU Utilities for Win32 . Il a la plupart des favoris, y compris la queue.
@EricJ., Merci, cela semble vraiment pertinent. Mais je viens de réaliser qu'il est plus facile pour moi d'utiliser une solution de contournement: je vais juste écrire un script simple qui fait un tail:)
C'est bon à savoir; Merci. Mais j'ai eu quelques problèmes avec (sous Windows 7). (1) il affiche l'intégralité du fichier (pas bon pour un fichier journal massif, c'est pourquoi tailpeut être utile) (2) il n'est pas aussi dynamique que je le souhaiterais (peut-être en raison de changements de système d'exploitation / système de fichiers entre ma configuration et d'autres affiches ?). Autrement dit, j'ai déterminé que le shell faisant Get-Contentparfois ne se met pas à jour jusqu'à ce que j'exécute dirdans un autre shell.
mpontillo
10
Je pense qu'il vaut la peine de mentionner que PowerShell mettra en pause le défilement / sortie si vous sélectionnez quelque chose dans la fenêtre du terminal pour vous donner une chance de lire, copier / coller, etc. Si vous appuyez sur Entrée, le défilement reprendra.
cbednarski
19
PowerShell 3 introduit un paramètre -Tail pour inclure uniquement les dernières lignes x
Stefan Haberl
8
La bonne réponse pour Powershell ne devrait-elle pas être quelque chose comme ça Get-Content -Tail 100 -Wait .\logfile.log?
Henno Vermeulen
62
J'ai toujours utilisé Baretail pour suivre dans Windows. C'est gratuit et plutôt sympa.
Edit: pour une meilleure description de Baretail voir cette question
Cela a fini par être la 1ère solution qui a fonctionné pour moi sur [gulp] Windows Server 2003 R2 SP1! Super facile avec l'installateur, a travaillé pour le tailing wasily dès la sortie de la boîte :)
cellepo
Télécharger et exécuter des exécutables non signés sur HTTP n'est probablement pas une bonne idée. À tout le moins, il faut télécharger via leur site HTTPS .
Zero3
Je trouve étonnant qu'ils continuent à maintenir le site et à mettre à jour le certificat SSL à ce jour, alors que le logiciel n'a pas été mis à niveau depuis 2006. Cela fonctionne bien cependant. Exactement ce dont j'avais besoin. Windows Defender ne trouve aucune menace.
Lionet Chen
31
Vous pouvez obtenir la queue dans le cadre de Cygwin .
Toute personne intéressée par une queue DOS CMD utilisant des commandes batch (voir ci-dessous).
Ce n'est pas préfet, et les lignes se répètent parfois.
Utilisation: 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
C'est intelligent, et je suis tout à fait d'utiliser les fonctionnalités existantes lorsque le téléchargement d'un outil n'est pas une option! Ce code consommera du CPU, car il tournera continuellement dans le suivi de -f.
armstrhb
1
eu le même problème avec le téléchargement et la consommation de CPU! ajouté cette ligne ping 127.0.0.1 -n 2 > nulavant goto followloop. il envoie deux pings et attend 1 seconde entre les deux. donc ça laisserait le cpu vivre!: D
Mohsen ZareZardeyni
Impressionnant! Merci beaucoup
John Fairbanks
1
pourquoi utiliser ping si vous pouviez utiliser timeout /t 2?
namezero
23
Il existe un certain nombre d'options, mais toutes ont des défauts avec des fonctionnalités plus avancées.
GnuWin32 tail est buggé ( α β γ ) - des choses comme -f ne fonctionnent tout simplement pas.
La queue UnxUtils semble meilleure (-f fonctionne, mais --pid ne semble pas, -n mais pas --lines = n échoue avec -f), mais semble être un projet mort.
Cygwin est une grosse bouillie moche, pourrait peut-être simplement utiliser le package DLL et coreutils - mais a toujours des problèmes comme --pid ne fonctionne pas avec les processus Win32 natifs.
Je n'ai vu Log Expert nulle part parmi les réponses ici.
Il est personnalisable et est assez bon pour parcourir les fichiers journaux. Jusqu'à présent, c'est le meilleur visualiseur de journaux graphiques Windows pour moi.
Malheureusement, ce logiciel n'est plus disponible. Vous pouvez en lire plus sur archive.org .
J'adore les fonctionnalités de Log Expert, mais mon expérience a été boguée avec Win 7 64 bits.
Clay
Je manque la fonctionnalité "vue claire".
Daniel Hári
13
Si vous ne voulez rien installer du tout, vous pouvez "créer votre propre" fichier batch qui fait le travail à partir des commandes Windows standard. Voici quelques conseils sur la façon de procéder.
1) À l'aide de find / c / v "" yourinput.file , obtenez le nombre de lignes dans votre fichier d'entrée. La sortie est quelque chose comme:
---------- T.TXT: 15
2) En utilisant for / f , analysez cette sortie pour obtenir le nombre 15.
3) À l'aide de set / a , calculez le nombre de lignes de tête qui doivent être sautées
4) En utilisant for / f "skip = n" sautez les lignes de tête et faites écho / traitez les lignes de queue.
Si je trouve le temps, je vais construire un tel fichier batch et le poster ici.
ÉDITER: 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
Voici le lot de l'explication précédente. Il affiche les 10 dernières lignes du fichier actuel: ____ pour les jetons / f "= 3" %% f dans ('find / c / v ""% 0') ne définissez nbLines = %% f ____ set / a nbSkippedLines = % nbLines% -10 ____ for / f "skip =% nbSkippedLines% delims =" %% d in (% 0) do echo %% d
Nicolas
1
C'est exactement ce que l'affiche veut, et ça marche très bien.
Jackie Yeh
Merci pour le code! Je l'ai ajouté à la réponse avec le numéro de paramètre corrigé et un supplémentaire au nombre de lignes. Notez qu'il affichera les lignes une sortie. PS: Je l'ai utilisé pour suivre un fichier de 1,5 Go et j'ai obtenu les résultats en seulement 15 secondes.
Leopoldo Sanczyk
En fait, à l'étape 4, il serait encore mieux, je pense, d'utiliser la commande «more» qui prend un paramètre quant au nombre de lignes à sauter. Encore plus vite, je pense.
Philibert Perusse
8
J'ai utilisé Mtail récemment et il semble bien fonctionner. Il s'agit du type d'interface graphique comme la barre de connexion mentionné ci-dessus.
Vraiment? Vous vous précipitez sur des réponses de quatre ans à vote négatif? Façon de contribuer.
Dave
9
@Dave: Même si la question est ancienne, les gens la regardent toujours pour trouver la meilleure réponse. Si une réponse d'il y a même presque 5 ans n'est plus pertinente ou bonne, alors pourquoi ne devrait-on pas la déprécier? Tout ce site vise à obtenir plus rapidement des informations précieuses - aujourd'hui, il n'y a pas 5 ans.
Oliver
1
@Hellfire - vous devriez éditer la réponse à condition que cela ne fonctionne pas avec Wwindows 7. Il est stupide de simplement commenter.
Le DOS typefonctionne comme * nux cat, bien que tout comme cat, il vide tout le fichier, donc ce n'est pas vraiment vrai tail, mais il sera disponible à la rigueur sans télécharger / installer un véritable tailsubstitut.
Je viens d'écrire ce petit script batch. Il n'est pas aussi sophistiqué que la "queue" d'Unix, mais j'espère que quelqu'un pourra y ajouter des améliorations, comme limiter la sortie aux 10 dernières lignes du fichier, etc. Si vous améliorez ce script, veuillez l'envoyer à moi au vol ~ [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
belle idée en utilisant la commande "type", mais vous ne pouvez pas y accéder!
eadmaster
Cela ne fait que recharger le fichier texte.
la version par lots d'écho a un comportement étrange, si aucun argument n'est donné, elle se termine, mais si vous appelez la commande comme echo.avec un point de fin sur le mot (et non comme argument séparé), elle imprimera une seule nouvelle ligne.
Si vous souhaitez utiliser les ports Win32 de certains utilitaires Unix (plutôt que d'installer Cygwin), je recommande les utilitaires GNU pour Win32 .
C'est 70 € par installation. Ce n'est pas gratuit.
Sergey Podobry
0
Les visualiseurs de journaux graphiques, bien qu'ils puissent être très utiles pour afficher les fichiers journaux, ne répondent pas au besoin d'un utilitaire de ligne de commande qui peut être incorporé dans des scripts (ou fichiers de commandes). Souvent, une commande aussi simple et polyvalente peut être utilisée dans le cadre d'une solution spécialisée pour un environnement particulier. Les méthodes graphiques ne se prêtent pas facilement à une telle utilisation.
Je pense avoir trouvé un utilitaire qui répond au besoin de la fonction queue dans les fichiers batch. Cela s'appelle "mtee" et c'est gratuit. Je l'ai incorporé dans un fichier batch sur lequel je travaille et il fait très bien le travail. Assurez-vous simplement de mettre l'exécutable dans un répertoire dans l'instruction PATH, et c'est parti.
Réponses:
Je suggère d'installer quelque chose comme GNU Utilities for Win32 . Il a la plupart des favoris, y compris la queue.
la source
tail
sur un fichier de 2 Go et ça s'est étouffé.more
a bien fonctionné (au moins l'affichage du début du fichier).head
mais pastail
... Des idées?tail
:)Si vous utilisez PowerShell, cela fonctionne:
Publier le commentaire de Stefan d'en bas, pour que les gens ne le manquent pas
PowerShell 3 introduit un paramètre -Tail pour inclure uniquement les dernières x lignes
la source
tail
peut être utile) (2) il n'est pas aussi dynamique que je le souhaiterais (peut-être en raison de changements de système d'exploitation / système de fichiers entre ma configuration et d'autres affiches ?). Autrement dit, j'ai déterminé que le shell faisantGet-Content
parfois ne se met pas à jour jusqu'à ce que j'exécutedir
dans un autre shell.Get-Content -Tail 100 -Wait .\logfile.log
?J'ai toujours utilisé Baretail pour suivre dans Windows. C'est gratuit et plutôt sympa.
Edit: pour une meilleure description de Baretail voir
cette questionla source
Vous pouvez obtenir la queue dans le cadre de Cygwin .
la source
Toute personne intéressée par une queue
DOSCMD utilisant des commandes batch (voir ci-dessous).Ce n'est pas préfet, et les lignes se répètent parfois.
Utilisation: tail.bat -d tail.bat -f -f
la source
ping 127.0.0.1 -n 2 > nul
avantgoto followloop
. il envoie deux pings et attend 1 seconde entre les deux. donc ça laisserait le cpu vivre!: Dtimeout /t 2
?Il existe un certain nombre d'options, mais toutes ont des défauts avec des fonctionnalités plus avancées.
GnuWin32 tail est buggé ( α β γ ) - des choses comme -f ne fonctionnent tout simplement pas.
La queue UnxUtils semble meilleure (-f fonctionne, mais --pid ne semble pas, -n mais pas --lines = n échoue avec -f), mais semble être un projet mort.
Cygwin est une grosse bouillie moche, pourrait peut-être simplement utiliser le package DLL et coreutils - mais a toujours des problèmes comme --pid ne fonctionne pas avec les processus Win32 natifs.
la source
J'ai utilisé Tail For Windows . Certainement pas aussi élégant que d'utiliser
mais ensuite, vous utilisez Windows. ;)la source
Avec Windows PowerShell, vous pouvez utiliser:
la source
Je n'ai vu Log Expert nulle part parmi les réponses ici.
Il est personnalisable et est assez bon pour parcourir les fichiers journaux. Jusqu'à présent, c'est le meilleur visualiseur de journaux graphiques Windows pour moi.
Malheureusement, ce logiciel n'est plus disponible. Vous pouvez en lire plus sur archive.org .
la source
Si vous ne voulez rien installer du tout, vous pouvez "créer votre propre" fichier batch qui fait le travail à partir des commandes Windows standard. Voici quelques conseils sur la façon de procéder.
1) À l'aide de find / c / v "" yourinput.file , obtenez le nombre de lignes dans votre fichier d'entrée. La sortie est quelque chose comme:
2) En utilisant for / f , analysez cette sortie pour obtenir le nombre 15.
3) À l'aide de set / a , calculez le nombre de lignes de tête qui doivent être sautées
4) En utilisant for / f "skip = n" sautez les lignes de tête et faites écho / traitez les lignes de queue.
Si je trouve le temps, je vais construire un tel fichier batch et le poster ici.
ÉDITER:
tail.bat
la source
J'ai utilisé Mtail récemment et il semble bien fonctionner. Il s'agit du type d'interface graphique comme la barre de connexion mentionné ci-dessus.
la source
Télécharger la commande de queue, une partie de
Windows Server 2003 Resource Kit Tools
de Microsoft lui - même.la source
Essayez les services Windows pour UNIX . Fournit coquilles, awk, sed, etc. ainsi que queue.
Mise à jour -: Malheureusement, à partir de 2019, ce système n'est plus disponible sur le Centre de téléchargement Microsoft.
la source
Je préfère TailMe en raison de la possibilité de regarder plusieurs fichiers journaux simultanément dans une seule fenêtre: http://www.dschensky.de/Software/Staff/tailme_en.htm
la source
DOS n'a pas de commande tail; vous pouvez télécharger un binaire Windows pour GNU tail et d'autres outils GNU ici .
la source
Une autre option serait d'installer MSYS (qui est plus léger que Cygwin).
la source
Le DOS
type
fonctionne comme * nuxcat
, bien que tout commecat
, il vide tout le fichier, donc ce n'est pas vraiment vraitail
, mais il sera disponible à la rigueur sans télécharger / installer un véritabletail
substitut.la source
Je viens d'écrire ce petit script batch. Il n'est pas aussi sophistiqué que la "queue" d'Unix, mais j'espère que quelqu'un pourra y ajouter des améliorations, comme limiter la sortie aux 10 dernières lignes du fichier, etc. Si vous améliorez ce script, veuillez l'envoyer à moi au vol ~ [at] ~ gmail.com.
la source
echo.
avec un point de fin sur le mot (et non comme argument séparé), elle imprimera une seule nouvelle ligne.La
tail
commande et bien d'autres sont disponibles dans le package Outils du Kit de ressources Windows .la source
Si vous souhaitez utiliser les ports Win32 de certains utilitaires Unix (plutôt que d'installer Cygwin), je recommande les utilitaires GNU pour Win32 .
Plus léger que Cygwin et plus portable.
la source
Installez MKS Toolkit ... pour pouvoir exécuter toutes les commandes Unix sous Windows.
La commande est:
la source
Dans Far Manager , appuyez F3sur un fichier pour accéder à la visionneuse standard, puis sur la Endtouche pour naviguer jusqu'à la fin du fichier.
Si le fichier est mis à jour, Far Manager le fera défiler automatiquement.
la source
J'utilise Kiwi Log Viewer . C'est gratuit.
la source
Les visualiseurs de journaux graphiques, bien qu'ils puissent être très utiles pour afficher les fichiers journaux, ne répondent pas au besoin d'un utilitaire de ligne de commande qui peut être incorporé dans des scripts (ou fichiers de commandes). Souvent, une commande aussi simple et polyvalente peut être utilisée dans le cadre d'une solution spécialisée pour un environnement particulier. Les méthodes graphiques ne se prêtent pas facilement à une telle utilisation.
la source
Vous pouvez également essayer WinTail .
ََ
la source
Je pense avoir trouvé un utilitaire qui répond au besoin de la fonction queue dans les fichiers batch. Cela s'appelle "mtee" et c'est gratuit. Je l'ai incorporé dans un fichier batch sur lequel je travaille et il fait très bien le travail. Assurez-vous simplement de mettre l'exécutable dans un répertoire dans l'instruction PATH, et c'est parti.
Voici le lien:
mtee
la source