gpt4 book ai didi

windows - 是否可以编辑已在 Windows 批处理中输出的行?

转载 作者:可可西里 更新时间:2023-11-01 13:29:50 30 4
gpt4 key购买 nike

所以,我目前正在制作一个“加载屏幕”,并且为了可能在我的编码中节省一些空间,我想知道您是否可以编辑已经输出的行。我可能会有一个括号 [] 作为加载的一个阶段,所以是否可以放置一个括号,然后等待并查看用户是否按 C(继续)1-2 秒,如果没有则进入下一阶段([][])?我目前有一个脚本,其中 [] 设置为 load,对于每个阶段,我执行 CLS,然后执行 echo %LOAD%[]


另外,如果我只是想在一条线上做一个状态更新呢,比如:

Checking status...
Loading server...

然后

Checking status... OK
Loading server... done

如果你能为我找到一个像 这样与 Batch 兼容的角色,我将加分。


最佳答案

您可以省略 CLS 并在 set/p 的帮助下重新创建全屏,因为 set/p 不输出一个换行符,你可以追加文本。

通常 set/p 用于将文本分配给用户输入的变量,但如果您使用 NUL 的重定向,它只会输出文本。

@echo off

for /L %%n in (1 1 5 ) do (
<nul set /p ".=[]"
ping -n 2 localhost > nul
)
echo(
echo The end

你要求的状态更新,可以用同样的方式处理,因为它只是在行中附加一些东西。
如果要更改部分行或整行,需要将光标移回或移至行首。
两者都可以用退格符或回车符来完成。

这是一个基于固定屏幕位置的示例

setlocal EnableDelayedExpansion
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
for /L %%n in (1 1 1000) do (
<nul set /p ".=%%n!CR!"
)

关于windows - 是否可以编辑已在 Windows 批处理中输出的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828728/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com