1

这是我的代码,(我试图制作进度条但失败了)。 http://pastebin.com/JpUT3QvY 我得到这个作为输出: bar:~0,1 bar:~0,2 bar:~0,3 etc.. etc.. 我希望它像:*, **, ***etc.. 基本上每 1 秒将星号增加 1。非常感谢任何帮助,我尝试了许多不同的结构但失败了。现在我需要继续写,这样这个过滤器才能接受我的问题,因为它希望我使用正确的语法写更多,现在你可以停止阅读,因为这与问题完全无关。

@echo off & setlocal enabledelayedexpansion
    set bar=**********
    set cnt=0
    :LOOP
    cls
    set /A cnt+=1
    echo.Progress:!bar:~0,%cnt%!
    ping -n 1 www.google.com > nul 2>&1
    if "%cnt%" NEQ 10 goto :LOOP
    echo.finished.
    pause > nul
    exit /b
4

1 回答 1

3

try this:

@echo off & setlocal enabledelayedexpansion
set "bar=**********"
set /a cnt=0
:LOOP
cls
set /A cnt+=1
SET "progressbar=!bar:~0,%cnt%!"
ECHO(Progress:%progressbar%
ping -n 1 www.google.com > nul 2>&1
if %cnt% NEQ 10 goto :LOOP
ECHO(finished.

REM example without CLS
<NUL set/p "=Progress:"
:LOOPING
<NUL set/p"=*"
ping -n 1 www.google.com > nul 2>&1
SET /a count+=1
if %count% NEQ 10 goto :LOOPING
ECHO(&ECHO(finished.
于 2013-06-21T18:43:09.600 回答