逐字显示一个句子

时间:2017-05-10 12:56:08

标签: windows batch-file cmd

我尝试创建一个逐字母显示句子的批处理脚本。但不知道如何。有一个脚本,但它只能逐字显示并忽略空格。

另一个问题是,是否可以在小于1000毫秒的时间段后出现一个字母?

我的错误代码:

@echo off
setlocal EnableDelayedExpansion
set "string_list=Hello world"
for %%s in (%string_list%) do (
  set "var=!var!%%~s"
  timeout /t 1 >nul
  cls
  echo !var!
)
echo.
echo.
echo.
timeout /t 1 >nul

1 个答案:

答案 0 :(得分:1)

这与我在评论中提供的答案类似,它在每个打印的字母之间使用了一秒钟的延迟。

@Echo Off

Set "STRING=I am a string of text"

For /F %%A In ('"Prompt $H&For %%B In (1) Do Rem"') Do Set "BS=%%A"

For /F Delims^=^ EOL^= %%A In ('CMD/U/CEcho^=%STRING%^|Find /V ""'
) Do Set/P "=a%BS%%%A"<Nul & Timeout 1 1>Nul

Pause

如果您发现字母之间的一秒钟太长,则您需要使用其他命令代替Timeout 1来缩短它。例如PathPing 127.0.0.1 -n -q 1 -p 225只需根据需要调整最终数字。

相关问题