2010-11-05 86 views
3

使用MS-DOS 8.0,确定字符串长度的最佳方法是什么?MS-DOS 8.0:确定字符串长度?

我通过电脑霍普(http://www.computerhope.com/msdos.htm)看了看,但没有命令我跳了出来......

有一个内置的命令或必须的函数建立解决这个问题?

谢谢了。

+0

我不认为这会专门回答您的问题(请参阅Preet Sangha的出色答案),但对于DOS中的其他字符串处理任务,您可能会在此网站上找到它:http://www.dostips.com/ DtTipsStringOperations.php – 2010-11-05 05:47:07

回答

3

here我和例子,这是它清理豆蔻

@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

+4

为什么我们不应该在DOS中编写脚本的很好的例子。 :-) – 2010-11-05 02:33:46

+0

@Sam似乎打高尔夫:) – 2010-11-05 03:09:45

1

我经常使用下面的方法:

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

这里的另一种选择。传递字符串作为这样一个放慢参数:

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。

注意:如果输入一个NUL字符串,ECHO语句后面的fullstop是至关重要的。 -2是必需的,因为ECHO会在每行的末尾自动添加一个CR & LF。