JustADude
JustADude

Reputation: 2709

MS-DOS 8.0: Determine String Length?

Using MS-DOS 8.0, what is the best way to determine the length of a string?

I looked through Computer Hope (http://www.computerhope.com/msdos.htm), but no commands jumped out at me...

Is there a built in command or must a function be built to address this?

Thanks a ton.

Upvotes: 3

Views: 10378

Answers (3)

Paul Tomasi
Paul Tomasi

Reputation: 685

Here's another option. Pass the string as a paramter like this:

   LEN "this is a long string"

Here's the code:

   @echo off

   echo.%~1>len
   for %%a in (len) do set /a len=%%~za -2

   echo %len%

Copy and paste the code into Notepad and save it as LEN.BAT.

NOTE: The fullstop following the ECHO statement is vital should a NUL string be entered. The -2 is required because ECHO automatically adds a CR & LF at the end of each line.

Upvotes: 2

Paul Tomasi
Paul Tomasi

Reputation: 685

I regularly use the following method:

   @echo off
   set str=This is a line of text

   echo.%str%>len
   for %%a in (len) do set /a len=%%~za -2

   echo %len%

Upvotes: 1

Preet Sangha
Preet Sangha

Reputation: 65516

From here I got and example and this is it cleaned up a litte

@echo off
setlocal
set #=%1
set length=0
:loop
if defined # (set #=%#:~1%&set /A length += 1&goto loop)
echo %1 is %length% characters long!
endlocal

alt text

Upvotes: 3

Related Questions