hacer equivalente como comandos comando basicos windows tail

como - Un equivalente de Windows del comando de cola de Unix



equivalente pwd en windows (26)

Estoy buscando el equivalente del comando ''tail'' de Unix que me permitirá ver la salida de un archivo de registro mientras se está escribiendo.


Acabo de escribir este pequeño script por lotes. No es tan sofisticado como la "cola" de Unix, pero es de esperar que alguien pueda agregarlo para mejorarlo, como limitar la salida a las últimas 10 líneas del archivo, etc. Si mejora este script, envíelo. a mí en el robo ~ [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


Con Windows PowerShell puedes usar:

Get-Content <file> -Wait


Creo que he encontrado una utilidad que satisface la necesidad de la función de cola en archivos por lotes. Se llama "mtee", y es gratis. Lo he incorporado a un archivo por lotes en el que estoy trabajando y funciona muy bien. Solo asegúrate de poner el ejecutable en un directorio en la declaración PATH, y listo.

Aquí está el enlace:

mtee


Cualquier persona interesada en una cola de CMD de DOS usando comandos por lotes (ver más abajo).

No es prefecto, y las líneas se repiten en algún momento.

Uso: 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


DOS no tiene comando de cola; puede descargar un binario de Windows para la cola de GNU y otras herramientas de GNU aquí .


Descargue el comando tail, que forma parte de las Windows Server 2003 Resource Kit Tools del Windows Server 2003 Resource Kit Tools de Windows Server 2003 Resource Kit Tools del propio Microsoft .


El type de DOS funciona como el cat * nux, aunque al igual que el cat , descarga todo el archivo, por lo que no es realmente una tail verdadera, pero estará disponible en un apuro sin descargar / instalar un sustituto de tail real.



En Far Manager , presione F3 en un archivo para ingresar al visor estándar, luego presione la tecla Finalizar para navegar hasta el final del archivo.

Si el archivo se actualiza, Far Manager lo desplazará automáticamente.


Estoy usando Kiwi Log Viewer . Es gratis.


Hay bastantes opciones, sin embargo, todas tienen fallas con características más avanzadas.


He usado Mtail recientemente y parece funcionar bien. Este es el tipo de GUI como baretail mencionado anteriormente.


He utilizado Tail para Windows . Ciertamente no es tan elegante como usar

tail Pero entonces, estás usando Windows. ;)


Instale el kit de herramientas MKS ... Para que pueda ejecutar todos los comandos de Unix en Windows.

El comando es:

tail -f <file-name>


Los visores de registros gráficos, si bien pueden ser muy buenos para ver los archivos de registro, no satisfacen la necesidad de una utilidad de línea de comandos que se pueda incorporar a los scripts (o archivos por lotes). A menudo, un comando tan simple y de propósito general se puede usar como parte de una solución especializada para un entorno particular. Los métodos gráficos no se prestan fácilmente a tal uso.


No he visto Log Expert en ninguna parte entre las respuestas aquí.

Es personalizable y es bastante bueno para los archivos de registro. Hasta ahora es el mejor visor de registro gráfico de Windows para mí.


Otra opción sería instalar MSYS (que es más ligero que Cygwin).




Puedes conseguir la cola como parte de Cygwin .


Puedes probar WinTail también.

ََ


Si desea utilizar los puertos Win32 de algunas utilidades Unix (en lugar de instalar Cygwin), recomiendo las utilidades GNU para Win32 .

Más ligero que Cygwin y más portátil.


Si no desea instalar nada, puede "crear su propio" archivo por lotes que haga el trabajo con los comandos estándar de Windows. Aquí hay algunos consejos sobre cómo hacerlo.

1) Usando find / c / v "" yourinput.file , obtenga el número de líneas en su archivo de entrada. La salida es algo como:

---------- T.TXT: 15

2) Usando for / f , analice esta salida para obtener el número 15.

3) Usando set / a , calcule el número de líneas de cabecera que deben omitirse

4) Usar para / f "saltar = n" omitir las líneas de la cabeza y repetir / procesar las líneas de la cola.

Si encuentro el tiempo, construiré un archivo por lotes y lo publicaré aquí.


Si usas PowerShell, entonces esto funciona:

Get-Content filenamehere -Wait -Tail 30

Publicando el comentario de Stefan desde abajo, para que la gente no se lo pierda.

PowerShell 3 introduce un parámetro -Tail para incluir solo las últimas x líneas