【问题标题】:Batch file with loading Dots until command is executed加载点的批处理文件,直到执行命令
【发布时间】:2018-01-02 21:45:09
【问题描述】:

好的,先问这么短的问题

有没有办法通过清除控制台并再次回显来防止创建加载条?它只会让我的生活更轻松:)

我想要在 Batch1 中输出什么...

File1 状态:正在搜索...( File2 状态:正在搜索。 (


第二个也是更重要的问题...
一个批处理文件实际上可以运行两个命令吗 同时?
这样这些加载点只会在批处理执行搜索命令时出现。比如:

Do loop until Batch finished search

或者我试过 xDD...

for /l %%x in (1 , 1 , {search code} ) do {loading bar-code}

...是的,我知道上面的代码永远无法工作,但至少我尝试过...

感谢您的帮助^^

【问题讨论】:

  • Cmd.exe 的脚本语言并不适合运行共享同一个控制台的多个进程。您可以编写一个批处理,在其他窗口中启动一堆进程,然后在批处理文件中循环执行状态栏。这很复杂,因为您必须解析任务列表之类的输出以检测这些进程何时完成,而且您真的不知道这些进程到底走了多远。
  • 请查看How to Askminimal reproducible example。你打算用什么来搜索?
  • @jwdonahue 感谢您的回答...我知道这很麻烦,但我可能已经找到了办法;当我解决它时,我会在这里发布它。实际上 searching 代码应该只检查文件是否存在并移动它。我知道这么快的动作不需要进度条,但这是关于原则的^^
  • 您想要做的批处理开销可能高于工作负载。祝你好运!

标签: loops batch-file while-loop loading simultaneous


【解决方案1】:

据我所知,同时任务是不可能实现的。但是,为了好玩,您可以通过以下代码使用假加载点:

setlocal enabledelayedexpansion
    set "dot=."
    set "msg=initializing"
    for /L %%A in (1,1,4) do (
        set msg=!msg!%dot%
        echo !msg!
        timeout 1 >nul
        cls
    )
    echo !msg!

输出:

initializing....

【讨论】:

  • for /L %%A in (1,1,4) do (<nul set /p "=."& >nul timeout 1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多