2010-11-05 112 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。