Introduction: Loading Effect in Batch

Picture of Loading Effect in Batch

This is second instructable .. so still go easy on me .. ty

This script is a loading script .. well it only looks like one , it doesn't actually load anything .. its if you just want the effect of something in a batch file to seem like it is loading ...
I will give you the script and i will show you how i did it ...
please leave a comment about what you thought ... Thanks

Also because of how awesome El Mano is =P
somewhere on the comments he has posted a better version of this..
Thanks El Mano =D .. saves me the work of posting it.

Step 1: Steal My Script

OK if you can't be bothered to see how it works then you can just steal my script . I attached it . so you will have to delete one of the 'b's off the file extension for it to be readable.. and you will have to edit what it says at the top of the script .. and remove the 'By iRule' at the bottom of the script.. if something doesn't work please pm me or leave a comment...

Step 2: How It Works

Picture of How It Works

OK this is a pretty simple script ..
All it uses is:
ping localhost -n 2 >nul = pause for X seconds - i paused for 2 here
cls = clear the batch screen
echo = to display the loading bar and writing

All the script dose is:
display loading at 0
pause for X seconds
Clear screen
Display loading at 5
and it keeps doing this untill its at 100
pretty simpe eh?

Hope you liked it ... please comment and pm me with any question .....


gamers lab (author)2017-07-16

2 things

one is the ping command safe because last time I used ping in my batch code for my custom made ai system it deleted my ability to use Bluetooth on my laptop

2 I've got a challenge. the challenge is, try and create a loading screen without using ping

GoWolves11 (author)gamers lab2017-07-25

Yes, I agree, no offense but I don't trust the ping localhost part.

AshrafK18 (author)2016-10-08

dude, i want to ask something, how can i make multiple progress bar, i already copied the code 3 times but the first progress bar always got erased, i want it to have 3 progress bar when done, care to tell me which i should add??

xlan (author)2016-03-09

A good

The AleeD (author)2015-11-22

Thanks Now I used it for my OS :)

bigjeff5 (author)2015-07-11

Similar to the one El Mano posted, but with the percentage in the progress bar. Where it says <40 spaces> you need to add 40 spaces, because these comments strip them out:

@echo off

color 0A

set "progbar= <40 spaces>"

set /a pct=0




echo Loading...

echo ---------------------------------------------

echo %progbar% %pct%%%

echo ---------------------------------------------

ping localhost -n 2 > nul

set progbar=[]%progbar:~0,-2%

if %pct%==100 goto end

set /a pct=%pct%+5

goto top


echo Done^^!!


bigjeff5 (author)2015-07-11

Just saw it didn't copy "set progbar=" correctly, that line has 40 spaces between = and ".

KenshinH (author)2015-05-17

You could use a for loop or just make a variable (that is the percentage of what is loaded already) and increase it by 5 and check to see if it is at 100. When it reaches 100, then the loop stops and goes to whatever it needs to do.


echo off

color 0A

mode 300

::/\ You don't have to put this line in


set /a "percent=0"

set /a "loaded="


echo Loading... Please wait

echo ---------------------------------------

echo %loaded% = %percent%% ]

echo ---------------------------------------

set /a "percent=%percent%+5"

set /a "loaded=%loaded%+'|'"


::Whatever you need to do after it loads...

You get the idea, right? This isn't perfect. Don't copy it into your editor and run it because the program doesn't work, but the idea does.

Arbitror (author)2008-12-04

I think that this is pointless in a actual batch program where you want to get something done. But, It would be good in a batch movie. If I were going to put a loading command, then I would actually make the loading screen real. For instance, It would only show for the amount of time to load, with you can do with the call command.

WildOne1985 (author)Arbitror2015-04-28

It would be useful if you were making a script for a customer who isn't really tech savvy and you wanted to show the progress so that he/she doesn't think the program has stalled. In example a backup script where each 10% takes about, say, three minutes.

iRule (author)Arbitror2008-12-05

cheers I think ? ... i know it would be pretty pointless in an actual script but i thought that might come useful to someone like someone making a movie

CoenW1 (author)2015-04-20

Why do you use the ping command? You better use the timeout command

timeout -t 2 >NUL

WildOne1985 (author)CoenW12015-04-28

Because the timeout command (after what I've read) doesn't really do things in exactly the amount of seconds it's supposed to do. Many will swear to to using ping as well because it uses less processor power (hardly an issue today). In the end it really doesn't matter; use whatever works!

CheekyScrub (author)2014-11-29

How to you do like 1.5 or something less than 2 and more than 1

El Mano (author)2009-01-08

This is a cool program, but it takes up a lot of space, making your file large and hard-to-edit. This is a much shorter, if more complicated, way:

@echo off
title Loading... By El Mano
color 0a
set load=
set/a loadnum=0
set load=%load%()
echo Loading... Please Wait...
echo ----------------------------------------
echo %load%
echo ----------------------------------------
ping localhost -n 2 >nul
set/a loadnum=%loadnum% +1
if %loadnum%==20 goto Done
rem You can set the number of ()'s as whatever you rem want but remember: in your "loading box" you rem need 2 spaces for every () because "()" takes up rem 2 spaces. The above box has 40 spaces, so rem twenty repeats, adding 1 () every repeat.
goto Loading
rem *your action here*

Feel free to modify, use, or ignore this. It's not copyrighted.

Delax (author)El Mano2013-12-20

Wow dude thx for this

power5000 (author)El Mano2012-02-16

Hi i know this was all the way back in 2009 but I was wondering if you could explain this a little bit i dont understand the
" set load=%load%"
why not just
"set load=()"?

El Mano (author)power50002012-02-16

This script works by making a line of ()'s across the screen. Each time it loops, it adds a () to the echoed script, so the first time it loops it echoes "()," then second time "()()", the third time "()()()", and so on.

Set load=%load%()

takes what %load% already contains, a number of ()'s, and adds another () to the end of the line, so that with each loop the screen echoes one more ().

power5000 (author)El Mano2012-02-17

yeah thankyou for commenting so quickly i was looking at it at realizit it was kinda like
but for a variable very cool thank you ^.^

goeon (author)El Mano2009-03-19

nice script

iRule (author)El Mano2009-01-09

yer i know it is a very long script and i know you can do it that way but i posted this when i was still not very good with batch so i did it the long way

fwjs28 (author)2008-12-14

this would be cool for a fake virus.....something like:....i also found a bit of an error...right around the 50% mark to 70% or so, the please wait is in different positions, so i changed it and it looks right...(maybe not)....i also deleted all the echo. 's...all it does it add size....unless u made it that way for a reason....

Jamtaktics (author)fwjs282011-05-28

haha, I did the same thing! except, after it "deletes" everything it runs a blue screen of death on you!

B.F.L.M (author)fwjs282009-05-03

sorry about using this comment to ask this but, if i added shutdown -s -t 10 -c "good-bye." would it still work?

fwjs28 (author)B.F.L.M2009-05-05

it would still work , but yod have to add it to towards the bottom like so: echo RAM failure echo contact local computer repair and report ID ten T error shutdown -s -t 10 -c "good-bye."

B.F.L.M (author)fwjs282009-05-05


fwjs28 (author)B.F.L.M2009-05-05

yerp....any other questions and i'd gladly help...

iRule (author)fwjs282008-12-14

I added some echo's at the beginning so it would be in the centre..left centre

fwjs28 (author)iRule2008-12-14 u like my little version of urs?

iRule (author)fwjs282008-12-15

lol your virus version is really good :]

fwjs28 (author)iRule2008-12-15

rlly?it was a quick 5 min throw together...i have 2 questions.....1:would you like to colborate with my little instructable on batch? and 2: i am trying to make a password vault...but im not sure a couple bits...ill send you a scan of the rough draft as soon as my scaner works....ty

iRule (author)fwjs282008-12-15

ok sure .. and kk ty

fwjs28 (author)iRule2008-12-15

i also found that at 96% and 100% the bars are at the same place....ill work on that and post an update for you as soon as i get home....

will421 (author)2009-06-18

Has everyone forgot the sleep command?

iRule (author)will4212009-06-19

yes because you need the external exe for that this way you only need 1 file for your batch

animan1 (author)2009-06-01

sweet i edited it but its great thanx for all ps ho w do you add a download link

iRule (author)animan12009-06-05

download link? you meen o download file off web? ... And do you meen auto done after loading thing or do you want th press button to download?

XOIIO (author)2009-04-29

omg great! i have it set up so at the end it opens another batch file! its great to fool people. im going to use the same idea to make a batch stop motion animation movie someday

iRule (author)XOIIO2009-05-03

go here ( my site ) : link
its a better version of this and uses less space =]

XOIIO (author)iRule2009-05-03

Thanks, it is better, but i sort of like this version because it takes longer.

elfshade (author)2009-02-26

i combined this with keyboard led loader (vbs)
ping localhost -n 2 >nul
rem call keyboard led loader
start twinkle.vbs
then actually called a program
echo ***************************************
echo ************* Thanks For **************
echo **************** Your *****************
echo **************** Time *****************
echo ***************************************

pause >nul

start C:\Program Files\Gamescampus\xiah\xiah.exe

then used bat to exe to put it all into one file added the xiah icon and sent it to my friends who play this game all the time

iRule (author)elfshade2009-02-27

cool looks good

BBZS (author)2008-12-09

WOW, even though it's lot really a loading bar, you can make it seem like it, that's so cool! Thanks so much!

iRule (author)BBZS2008-12-10

lol cheers .. you could actually make it load something if you add in bits of your code at each section of the script ;)

BBZS (author)iRule2008-12-10

Yeah, I thought so, like starting components to an exe file in the background (hidden) and then open the exe file once the file is complete.

spiker (author)2008-11-13

Very nice Instructable. I like the idea, i might use that in a project of mine, maybe in a text/batch movie.....:D thanks again keep it up

iRule (author)spiker2008-11-13

ty .. n id like to see ur finished movie thing when its done :D

spiker (author)iRule2008-11-13

lol, now i have a reason to finish it :D ill get it to ya ASAP now

About This Instructable




More by iRule:Screen Lock (VB.NET)VBS Tutorial - BasicsBatch Maker
Add instructable to: