Introduction: 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

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 .....

Comments

author
gamers lab made it! (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

author
GoWolves11 made it! (author)GoWolves112017-07-25

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

author
AshrafK18 made it! (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??

author
xlan made it! (author)2016-03-09

A good

author
The AleeD made it! (author)2015-11-22

Thanks Now I used it for my OS :)

author
bigjeff5 made it! (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

:top

cls

echo(

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

:end

echo Done^^!!

pause

author
bigjeff5 made it! (author)2015-07-11

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

author
KenshinH made it! (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.

Example:

echo off

color 0A

mode 300

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

cls

set /a "percent=0"

set /a "loaded="

:A

echo Loading... Please wait

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

echo %loaded% = %percent%% ]

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

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

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

:B

::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.

author
Arbitror made it! (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.

author
WildOne1985 made it! (author)WildOne19852015-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.

author
iRule made it! (author)iRule2008-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

author
CoenW1 made it! (author)2015-04-20

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

timeout -t 2 >NUL

author
WildOne1985 made it! (author)WildOne19852015-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!

author
CheekyScrub made it! (author)2014-11-29

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

author
El Mano made it! (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
:Loading
set load=%load%()
cls
echo.
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
:Done
echo.
pause
rem *your action here*
exit

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

author
Delax made it! (author)Delax2013-12-20

Wow dude thx for this

author
power5000 made it! (author)power50002012-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=()"?

author
El Mano made it! (author)El Mano2012-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 ().

author
power5000 made it! (author)power50002012-02-17

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

author
goeon made it! (author)goeon2009-03-19

nice script

author
iRule made it! (author)iRule2009-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

author
fwjs28 made it! (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....

fake loading virus.bat
author
Jamtaktics made it! (author)Jamtaktics2011-05-28

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

author
B.F.L.M made it! (author)B.F.L.M2009-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?

author
fwjs28 made it! (author)fwjs282009-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."

author
B.F.L.M made it! (author)B.F.L.M2009-05-05

Thanks

author
fwjs28 made it! (author)fwjs282009-05-05

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

author
iRule made it! (author)iRule2008-12-14

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

author
fwjs28 made it! (author)fwjs282008-12-14

um...k...do u like my little version of urs?

author
iRule made it! (author)iRule2008-12-15

lol your virus version is really good :]

author
fwjs28 made it! (author)fwjs282008-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

author
iRule made it! (author)iRule2008-12-15

ok sure .. and kk ty ..lol

author
fwjs28 made it! (author)fwjs282008-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....

author
will421 made it! (author)2009-06-18

Has everyone forgot the sleep command?

author
iRule made it! (author)iRule2009-06-19

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

author
animan1 made it! (author)2009-06-01

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

author
iRule made it! (author)iRule2009-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?

author
XOIIO made it! (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

author
iRule made it! (author)iRule2009-05-03

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

author
XOIIO made it! (author)XOIIO2009-05-03

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

author
elfshade made it! (author)2009-02-26

i combined this with keyboard led loader (vbs) https://www.instructables.com/id/keyboard_led_loader/
-code-
ping localhost -n 2 >nul
rem call keyboard led loader
start twinkle.vbs
cls
echo.
-/code-
then actually called a program
-code-
echo.
echo.
echo ***************************************
echo ************* Thanks For **************
echo **************** Your *****************
echo **************** Time *****************
echo ***************************************

pause >nul

start C:\Program Files\Gamescampus\xiah\xiah.exe
-/code-

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

author
iRule made it! (author)iRule2009-02-27

cool looks good

author
BBZS made it! (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!

author
iRule made it! (author)iRule2008-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 ;)

author
BBZS made it! (author)BBZS2008-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.

author
spiker made it! (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

author
iRule made it! (author)iRule2008-11-13

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

author
spiker made it! (author)spiker2008-11-13

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

About This Instructable

51,120views

14favorites

License:

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