2013-06-21 49 views
1

这里是我的代码,(我试图做一个进度条,但失败了)。 http://pastebin.com/JpUT3QvY 我得到这个作为输出:bar:〜0,1 bar:〜0,2 bar:〜0,3 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 
+2

你的代码需要去这里,而不是异地。期望我们离开StackOverflow,到别的地方去看看你真正要问的东西,然后回到这里试图回答你是不现实的。请编辑您的问题,并将代码放入您的问题中,并花时间正确格式化。 [帮助]页面有更多关于如何在这里提问的信息。 (如果你这样做,它会停止向你要求更多,这意味着你不必浪费时间和你发布的噪音。如果你想参加这里,请遵守这里的指导。)谢谢。 –

回答

3

试试这个:

@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. 
+0

山猫............ – yoman