49 votos

Comando(s) por lotes de Windows para leer la primera línea del archivo de texto

¿Cómo puedo leer la primera línea de un archivo de texto utilizando un archivo por lotes de Windows? Como el archivo es grande, sólo quiero tratar la primera línea.

112voto

Spaceballs Puntos 804

¿Eh? imo esto es mucho más simple

  set /p texte=< file.txt  
  echo %texte%

35voto

indiv Puntos 7403

Este es un archivo por lotes de uso general para imprimir la parte superior n líneas de un archivo como el GNU head en lugar de una sola línea.

@echo off

if [%1] == [] goto usage
if [%2] == [] goto usage

call :print_head %1 %2
goto :eof

REM
REM print_head
REM Prints the first non-blank %1 lines in the file %2.
REM
:print_head
setlocal EnableDelayedExpansion
set /a counter=0

for /f ^"usebackq^ eol^=^

^ delims^=^" %%a in (%2) do (
        if "!counter!"=="%1" goto :eof
        echo %%a
        set /a counter+=1
)

goto :eof

:usage
echo Usage: head.bat COUNT FILENAME

Por ejemplo:

Z:\>head 1 "test file.c"
; this is line 1

Z:\>head 3 "test file.c"
; this is line 1
    this is line 2
line 3 right here

Actualmente no cuenta las líneas en blanco. También está sujeto a la restricción de longitud de línea de los archivos por lotes de 8 KB.

9voto

Amit Naidu Puntos 876

Eh, chicos...

C:\>findstr /n . c:\boot.ini | findstr ^1:

1:[boot loader]

C:\>findstr /n . c:\boot.ini | findstr ^3:

3:default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

C:\>

8voto

Podrías probar esto:

@echo off

for /f %%a in (sample.txt) do (
  echo %%a
  exit /b
)

editar O, digamos que tiene cuatro columnas de datos y quiere desde la 5ª fila hacia abajo, pruebe esto:

@echo off

for /f "skip=4 tokens=1-4" %%a in (junkl.txt) do (
  echo %%a %%b %%c %%d
)

4voto

Jesse Vogt Puntos 5014

Gracias a thetalkingwalnut con la respuesta http://stackoverflow.com/questions/130116/dos-batch-commands-to-read-first-line-from-text-file#130154 Se me ocurrió la siguiente solución:

@echo off
for /f "delims=" %%a in ('type sample.txt') do (
echo %%a
exit /b
)

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X