MS-DOS 8.0: определить длину строки? - PullRequest
3 голосов
/ 05 ноября 2010

Как лучше всего определить длину строки в MS-DOS 8.0?

Я просмотрел Computer Hope (http://www.computerhope.com/msdos.htm),, но на меня не выскакивали команды ...

Есть ли встроенная команда или должна быть встроена функция для решения этой проблемы?

Спасибо за тонну.

Ответы [ 3 ]

3 голосов
/ 05 ноября 2010

С здесь Я получил и пример, и это он убрал лит

@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

2 голосов
/ 19 декабря 2010

Вот еще один вариант.Передайте строку в качестве параметра следующим образом:

   LEN "this is a long string"

Вот код:

   @echo off

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

   echo %len%

Скопируйте и вставьте код в Блокнот и сохраните его как LEN.BAT.

ПРИМЕЧАНИЕ. Полный цикл, следующий за оператором ECHO, имеет жизненно важное значение при вводе строки NUL.-2 требуется, потому что ECHO автоматически добавляет CR & LF в конце каждой строки.

1 голос
/ 19 декабря 2010

Я регулярно пользуюсь следующим методом:

   @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%
...