我正在尝试在 BATCH 中模拟打字效果,这是我最初得到的:
@echo off
setlocal enabledelayedexpansion
set "word=example"
set "output="
for /l %%x in (0, 1, 6) do (
set "output=!output!!word:~%%x,1!"
cls
echo !output!_
ping localhost -n 1 -w 200 >nul
)
cls
echo !output!
pause
然而,这不起作用,而只是完全回响单词而不模拟任何打字效果。有什么解决办法吗?
尝试过:上面的代码
预期:一个简单、清晰的打字效果,可以打出单词。
结果:只是回显了单词,并没有真正模拟打字效果。
可以使用 while 循环和一些简单的数学运算来跟踪经过的厘秒数来实现此类输出适当持续时间的延迟。
有关带有参数的宏的信息,请参阅:https://www.dostips.com/forum/viewtopic.php? t=1827
有关虚拟终端序列的信息,请参阅:https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
这有帮助吗?
它使用内置实用
PATHPING.EXE
程序(而不是PING.EXE
),以便在“本机批处理”中允许输入字符之间的延迟更短。只需按原样运行它,即可看到它的工作情况,然后根据需要随意更改的内容
STRING
。您还可以调整参数100
中的PATHPING
,以查看它如何影响“打字”效果。