How can a script count the lines in a text file?

By | 2006-09-25

This script was found in one of the alt.msdos.* newsgroups, some time ago. I have found it useful in the past, and hope you do, too.

The syntax for using LineCnt.bat is:

[call] LineCnt FileName Lines

Where:

FileName is the fully qualified file name of the text file.

Lines is a call directed numeric environment variable that will contain the number of lines in FileName.

LineCnt.bat contains:

@echo off
if {%2}=={} @echo LineCnt FileName Lines&goto :EOF
set /a %2=0
if not exist %1 LineCnt FileName Lines - %1 NOT FOUND.&goto :EOF
if exist "%TEMP%\LineCnt.vbs" goto doit
@echo Dim objArgs>"%TEMP%\LineCnt.vbs"
@echo Set WshShell = CreateObject("WScript.Shell")>>"%TEMP%\LineCnt.vbs"
@echo Set objArgs = Wscript.Arguments>>"%TEMP%\LineCnt.vbs"
@echo WScript.Echo UBound(Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(objArgs(0),1).ReadAll,vbCrLf)) + 1 >>"%TEMP%\LineCnt.vbs"
:doit
for /f "Tokens=*" %%a in ('cscript //nologo "%TEMP%\LineCnt.vbs" %1') do (
set /a %2=%%a
)

Author: dwirch

Derek Wirch is a seasoned IT professional with an impressive career dating back to 1986. He brings a wealth of knowledge and hands-on experience that is invaluable to those embarking on their journey in the tech industry.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.