(view source code of readline.bat as plain text)
@ECHO OFF
:: Check Windows versionIF NOT "%OS%"=="Windows_NT" GOTO SyntaxDOS
:: Localize variablesSETLOCAL ENABLEDELAYEDEXPANSION
:: Check command line argumentsIF NOT "%~3"=="" GOTO Syntax
IF NOT "%~2"=="" IF /I NOT "%~1"=="/C" GOTO Syntax
IF NOT "%~1"=="" (
ECHO.%~1| FINDSTR /R /B /I /C:"/[ACFL]$" >NUL
IF ERRORLEVEL 1 GOTO Syntax
):: Reset variablesSET ReadLine=
SET All=0
SET Count=0
SET First=0
SET Last=0
:: Interpret command lineIF "%~1"=="" SET First=1
IF /I "%~1"=="/A" SET All=1
IF /I "%~1"=="/C" SET /A Count = %~2
IF /I "%~1"=="/F" SET First=1
IF /I "%~1"=="/L" SET Last=1
:: Concatenate all linesIF %All% EQU 1 (
FOR /F "tokens=*" %%A IN ('MORE') DO (
SET ReadLine=!ReadLine!%%A
)):: Show only the first lineIF %First% EQU 1 (
FOR /F "tokens=*" %%A IN ('MORE') DO (
IF "!ReadLine!"=="" (
SET ReadLine=%%A
) )):: Show only the last lineIF %Last% EQU 1 (
FOR /F "tokens=*" %%A IN ('MORE') DO (
SET ReadLine=%%A
)):: Show only the nth line, where n is specified on the command lineIF %Count% GTR 0 (
FOR /F "tokens=*" %%A IN ('MORE') DO (
SET /A Count -= 1
IF !Count! EQU 0 SET ReadLine=%%A
))SET ReadLine
ENDLOCAL & SET ReadLine=%ReadLine%
GOTO:EOF
:SyntaxECHO.
ECHO ReadLine.bat, Version 1.00 for Windows 2000 and later
ECHO Read the specified line^(s^) from the standard input and
ECHO store it ^(or them^) in an environment variable ReadLine
ECHO.
ECHO Usage: some_command ^| READLINE [ /A ^| /C n ^| /F ^| /L ]
ECHO.
ECHO Where: some_command is a command whose standard output is
ECHO piped to this script's standard input
ECHO /A concatenates all lines
ECHO /C n stores only the Nth non-empty line
ECHO /F stores only the first non-empty line ^(default^)
ECHO /L stores only the last non-empty line
ECHO.
ECHO Notes: Empty lines in some_command's output are skipped.
ECHO The length of the environment variable is limited.
ECHO When nothing is piped to this script's standard input,
ECHO the keyboard is read until the stream is closed by
ECHO pressing either Ctrl+Z and Enter or F6 and Enter.
ECHO.
ECHO Written by Rob van der Woude
ECHO http://www.robvanderwoude.com
:: Exit with ErrorLevel 1EXIT /B 1
:: Separate help screens for CMD.EXE and COMMAND.COM because of the pipe symbols used:SyntaxDOSECHO.
ECHO ReadLine.bat, Version 1.00 for Windows 2000 and later
ECHO Read the specified line(s) from the standard input and
ECHO store it (or them) in an environment variable ReadLine
ECHO.
ECHO Usage: some_command ³ READLINE [ /A ³ /C n ³ /F ³ /L ]
ECHO.
ECHO Where: some_command is a command whose standard output is
ECHO piped to this script's standard input
ECHO /A concatenates all lines
ECHO /C n stores only the Nth non-empty line
ECHO /F stores only the first non-empty line (default)
ECHO /L stores only the last non-empty line
ECHO.
ECHO Notes: Empty lines in some_command's output are skipped.
ECHO The length of the environment variable is limited.
ECHO When nothing is piped to this script's standard input,
ECHO the keyboard is read until the stream is closed by
ECHO pressing either Ctrl+Z and Enter or F6 and Enter.
ECHO.
ECHO Written by Rob van der Woude
ECHO http://www.robvanderwoude.com
:End:: Exit with ErrorLevel 1ECHO A | FIND "B"
page last modified: 2025-10-11; loaded in 0.0097 seconds