【问题标题】:MS-DOS 8.0: Determine String Length?MS-DOS 8.0:确定字符串长度?
【发布时间】:2010-11-05 02:26:32
【问题描述】:

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

我浏览了 Computer Hope (http://www.computerhope.com/msdos.htm),但没有任何命令向我跳出...

是否有内置命令或必须构建一个函数来解决这个问题?

非常感谢。

【问题讨论】:

  • 我认为这并不能具体回答您的问题(请参阅 Preet Sangha 的出色回答),但对于 DOS 中的其他字符串操作任务,您可能会在此网站上找到它:dostips.com/DtTipsStringOperations.php跨度>

标签: string dos


【解决方案1】:

来自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

【讨论】:

  • 为什么我们不应该在 DOS 中编写脚本的好例子。 :-)
【解决方案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 语句后面的句号至关重要。 -2 是必需的,因为 ECHO 会在每行末尾自动添加 CR 和 LF。

【讨论】:

    【解决方案3】:

    我经常使用以下方法:

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

    【讨论】:

      猜你喜欢
      • 2012-09-14
      • 1970-01-01
      • 2012-07-06
      • 2011-05-04
      • 2021-02-18
      • 2011-09-08
      • 2011-04-29
      • 2021-04-20
      • 2011-01-04
      相关资源
      最近更新 更多