Introduction: Text Movies in Batch

Hi, I'm wazupwiop, and this is my first instructable. In this instructable I will show you how to make a basic text movie in batch. I recommend you see the text star wars movie in another instructable for motivation, encoragement, and to see what can be done. Download the .bat file below. It might say it is a tmp file, but rename it to stick.bat I also recommend that you READ EACH STEP COMPLETELY AND THOROUGHLY BEFORE ATTEMPTING

Step 1: Some Basic Batch Commands

ok here are some basic batch commands, and what they do:

@ before a command- ex. @echo off- it doesn't allow echo to be seen in the text video
@echo on- allows it to be seen

pause- makes the viewer push a button before moving on

echo-(make sure there is a space between echo and what you want to say) echo, before a string of words, lets them be seen in your command prompt. THERE ARE SOME SYMBOLS THAT ARE NOT ALLOWED LIKE: | < > to name a few the line is shift+\ buttons

cls- clears screen of what your viewing

exit-exits command prompt

these are mostly what I use to make my movies, but if you learn more that is great

this is a command prompt window

Step 2: Example of a Movie

"@ECHO OFF
ECHO HI, I AM STICK MAN
ECHO.
ECHO O
ECHO -[]-
ECHO /\


pause

cls

echo I KNOW Kung-fu! HI YA!
echo.
echo O l l o
echo -[]- -[]-
echo /\____________/\___L_____o

pause

cls

ECHO poor man, boo hoo (puts weopon down)
ECHO.
ECHO O
ECHO -[]-
ECHO /\ l_______________L______o

pause

cls

Echo Lets pick him up
echo.
echo O
echo []-L
echo _____________/\__\_____o_______

pause

cls

ECHO ARG!
ECHO L
ECHO ii
ECHO O
ECHO []
ECHO /\

pause

cls

ECHO WOOPS!!!!
Echo.
ECHO o
ECHO []__ _
ECHO O
ECHO []-
ECHO _______________/\

pause

Cls

ECHO AHHHHHH!
ECHO ______ ________
ECHO I [] I I [] I
ECHO I [] I o I [] I
ECHO I [] I []__ I [] I

pause

Cls

ECHO AHHHHHH! (cont.)
ECHO ______ ________
ECHO I[] I I[][] I
ECHO I []I o I []I
ECHO I[] I []__ I [] I

pause

cls

ECHO BOOM (hits wall)
ECHO 1
ECHO 1 O
ECHO 1[]__
ECHO 1
ECHO 1

pause

cls

ECHO OWWWW!!!!!! leaves impression in wall and is covered in debris
ECHO.
ECHO 1
ECHO 1
ECHO.
ECHO L[[[[[]o

pause

cls

ECHO stick man to the rescue

pause

cls

ECHO picks man up, brushes him off, and sets him on his feet (he is wearing a cape)
ECHO.
ECHO o O _____
ECHO []-[]
ECHO L II

pause

cls

ECHO Stick man says: Let's be friends
ECHO the dude says: sure
ECHO and they were friends, they shook on it
ECHO.
ECHO o O
ECHO []\/[]
ECHO L II

pause

cls

ECHO THE END

pause

cls

ECHO movie made by LEVO GAMES

pause

cls

exit"

paste everything in the quotation marks. DON'T PASTE QUOTATION MARKS!!!!!

another thing is that it might not appear right in your command prompt window, because of the system you are using (i use xp)

you're better off with the batch file included because this is a little messed up.






Step 3: Starting the Making of Your Movie

OK!!!!! you have probably watched my video by now. If you are new to batch you are probably wondering how I did that. Well I'll show you. First we need artwork out of text like so (make your own, but don't use illegal symbols):



O
-[]-
/\

O_____
-[]
/\

These two stick dudes were in my movie

Step 4: PROGRAMMING

OK. So you have your art, your commands, your computer, and command prompt. So know your wondering,"What order do I put them in?" Well I'll show you here. Look at my movie to see an example.

OK notice how I began:
@ECHO
put that at the beginning to make echo not appear.

Then put echo for every line after that. (that you want text after, "echo." with no quotes will make a blank line) Like so:

echo HI I AM STICKY
echo O
echo []
echo /\

THEN (this is important) put PAUSE and CLS like so:

pause

cls

REMEMBER YOU WANT THE VIDEO WATCHER TO SEE YOUR TEXT BEFORE THE SCREEN CLEARS!!!!!!!

Do this above for how ever many screens/pictures you want to show.

this is an example of a batch program (not a movie though)

Step 5: THE ENDING!!!!!! SO EXCITING

SO...... I've made my art, programmed it, and I think I have done it right so far (PM me with the art and programming and I might be able to troubleshoot it if yours doesn't work), How do I end it? I'll tell you now.

up here is where your last pic is

pause so the viewer can see it

cls so the screen clears

Exit should be the last thing on there

Step 6: Final Thoughts, Suggestions, and Troubleshooting Tips

ok final thoughts:
caps DO nOt MaTTeR
always put a period after an echo for a blank line
save your movie as .bat ALWAYS

suggestions:
BE NEAT programming long scripts can be hard if it isn't neat
you can put your commands in ALL CAPS to make them more identifiable
after your first screen you can save as whatever.bat so you can check your work, and all you have to do is save and open your file and changes are there


Troubleshooting:
if it skips a screen make sure your pause is before your cls
random events can happen if you use illegal characters and text.
umm......... I almost always have to troubleshoot
I use XP you may use ME, 2000, 98, 95, or something else. Learn commands for your system (there are only minor differences)

a batch file icon looks somthin like this


Comments

author
JakeJ26 made it!(author)2015-12-28

Gonna necro this, but couldn't you literally just put:

timeout (time to stop) /nobreak >nul

cls

instead of forcing user interaction?

author
wazupwiop made it!(author)2015-12-28

Probably. I was 13 when I wrote the instructable. I have never bothered to learn all of the different features of batch, so I am sure that my instructable is outdated and probably wasn't the most ideal way to write text movies. :)

author
geeklord made it!(author)2008-09-26

is it possible to add a pause in a batch file?

author
wazupwiop made it!(author)2008-09-26

yes, but can be VERY VERY HARD if you don't know what you are doing

author
geeklord made it!(author)2008-09-26

Elaborate?

author
dsman195276 made it!(author)2008-10-16

he is joking, all you do is type pause on the next line.

author
geeklord made it!(author)2008-10-16

sorry i wasn't very specific. I meant a way for the program to wait for a preditermined amount of time, and then execute the next command. I think in vbs the command is sleep

author
Cheats+TutorialsM made it!(author)2015-11-11

The most simple command would be:

timeout /t 30 - it makes the batch file wait 30 seconds, but if a key is pressed, it continues.

timeout /t 30 /nobreak - it makes the batch file wait 30 seconds, it doesn't matter, if the key is pressed or not, it'll wait 30 seconds.

timeout /t 30 /nobreak > nul - it makes the batch file wait 30, it won't be affected by the users key presses and is not visible to the user.

*Note: you can change the seconds (in this case the number 30) to as much seconds as you want.

author
Candy+Cane made it!(author)2015-03-26

ping localhost -n 2 >nul
in which the 2 is how many seconds it waits before it continues. Hope this helped.

author
TheNemo made it!(author)2008-10-29

There are two ways I know of how to delay. The first one is easy and the other one is hard. You can go look on google for batch sleep, download a program and install to have a nifty sleep command, or you can use this code.

set max=100

set number=0
:loop1
set /p number=number+1
if %number% equ %max% goto end1
goto loop1
:end1

I have used this code for batch movies before. The only problem is that for each pause you want you have to copy and paste the code (except the max variable which resides at the beginning of the file) and add one to the numbers (like end1 would become end2, loop1 would become loop2, etc.). The max variable sets the amount of delay, but the amount of delay can vary depending on the speed of your system.

I don't guarantee that the code works because I am on my linux computer and can't pull up the file at the moment. If it doesn't work it probably just needs a small change (so google is your friend).

author
geeklord made it!(author)2008-10-30

thx

author
geeklord made it!(author)2008-11-03

Wait, I try this and cmd just pops up with "number+1"

author
TheNemo made it!(author)2008-11-03

I'm sorry. I spaced out when I wrote that code. The /p flag is the prompt flag so it asks you to enter a value. The /a flag is what you want. Here is the real code, and this time I guarantee that it will work because it is from one of my movies.

set _number=0
:loop1
if %_number%==%_max% goto end1
set /a _number=_number + 1
goto loop1
:end1

Just follow do the same thing to the code for each pause like I said before and it should work.

author
wazupwiop made it!(author)2008-11-03

ok

author
will421 made it!(author)2009-05-07

Yep. ASCII is H-A-R-D.

author
littlegandhi1199 made it!(author)2008-11-07

yes it is possible to do this, i use it a lot in the programs i make with batch put this into it's own line ping localhost -n 2 >nul this means wait two seconds you can replace the 2 with how many seconds you want it to wait Hope i was of help i came up with this myself

author
Lance+Mt. made it!(author)2009-02-27

THANK YOU SO MUCH! Been doing .bat (for fun) for a year now... couldn't find that anywhere... -cheers, Chris

author
Newbie+To+Profession made it!(author)2014-03-04

Should do this

@echo off

title Example

echo 0

echo /l\

echo /\

timeout 1

echo __/___\_____/___0__\___

echo he is dead

echo this is an example set by Newbie to Profession

checkout at more commands at

https://www.instructables.com/id/April-Fools-Day-batch/

adn you will find my explaination for the code i added in

author
goodiesohhi made it!(author)2014-02-03

@echo off

Title=In The Forest

Echo ______

Echo/\__ _\

Echo\/_/\ \/ ___

Echo \ \ \ /' _ `\

Echo \_\ \__/\ \/\ \

Echo /\_____\ \_\ \_\

Echo \/_____/\/_/\/_/

pause

Echo ______ __

Echo/\__ _\/\ \

Echo\/_/\ \/\ \ \___ __

Echo \ \ \ \ \ _ `\ /'__`\

Echo \ \ \ \ \ \ \ \/\ __/

Echo \ \_\ \ \_\ \_\ \____\

Echo \/_/ \/_/\/_/\/____/

pause

Echo ___ _

Echo / __\__ _ __ ___ ___| |_

Echo / _\/ _ \| '__/ _ \/ __| __|

Echo / / | (_) | | | __/\__ \ |_

Echo \/ \___/|_| \___||___/\__|

pause

WHY NO WORK???

author
Stan2000 made it!(author)2013-12-03

You shoild learn about the
Color [number] [number] comment

author
Computothought made it!(author)2011-08-17

Thought I might try a possible nix version?[

[code]
# case matters
clear

echo " HI, I AM STICK MAN"
echo "."
echo " O"
echo " -[]-"
echo " /\\"


read a

clear

echo " I KNOW Kung-fu! HI YA!"
echo "."
echo " O l l o "
echo " -[]- -[]-"
echo " /\\____________/\___L_____o "

read a

clear

echo " poor man, boo hoo (puts weopon down)"
echo "."
echo " O"
echo " -[]-"
echo " /\\ l_______________L______o"

read a

clear

echo "Lets pick him up"
echo ". "
echo " O"
echo " []-L"
echo " _____________/\\__\_____o_______"

read a

clear

echo " ARG!"
echo " L"
echo " ii"
echo " O"
echo " []"
echo " /\\"

read a

clear

echo " WOOPS!!!!"

echo "."
echo " o"
echo " []__" _
echo " O"
echo " []-"
echo " _______________/\\"

read a

clear

echo " AHHHHHH!"
echo " ______ ________"
echo " I [] I I [] I"
echo " I [] I o I [] I"
echo " I [] I []__ I [] I"

read a

clear

echo " AHHHHHH! (cont.)"
echo " ______ ________"
echo " I[] I I[][] I"
echo " I []I o I []I"
echo " I[] I []__ I [] I"

read a

clear

echo " BOOM (hits wall)"
echo " 1"
echo " 1 O"
echo " 1[]__"
echo " 1"
echo " 1"

read a

clear

echo " OWWWW!!!!!! leaves impression in wall and is covered in debris"
echo "."
echo " 1"
echo " 1"
echo ". "
echo " L[[[[[]o"

read a

clear

echo " stick man to the rescue"

read a

clear

echo " picks man up, brushes him off, and sets him on his feet (he is wearing a cape)"
echo "."
echo " o O _____"
echo " []-[] "
echo " L II"

read a

clear

echo " Stick man says: Let's be friends"
echo " the dude says: sure"
echo " and they were friends, they shook on it"
echo "."
echo " o O "
echo " []\\/[] "
echo " L II"

read a

clear

echo " THE END"

read a

clear

echo " movie made by LEVO GAMES and modded by computothought"

read a

exit
[/code]

author
will421 made it!(author)2009-05-01

You know you can just do:

echo 0
echo /|\
echo /\

to make cmd actually type | not execute it.

author
will421 made it!(author)2009-05-01

no no i mean 0 /|\ /\

author
will421 made it!(author)2009-05-01

or just fake it: 0 /!\ /\

author
will421 made it!(author)2010-09-18

It seems that my stick man has been chopped.

author
will421 made it!(author)2009-05-05
 0/^|\/\

is what I mean.
author
killa696 made it!(author)2008-08-01

i made an animation of a guy shooting sum1, and it loops witout pressin buttons

author
knexmaster60 made it!(author)2009-04-25

what code do u use to make it loop

author
mr.break_it made it!(author)2010-02-04

to make a batchfile loop, you need to define the start and end of the loop.
The start of the loop is done using a colon followed by the loop name. [:loopname] the first time the loop is instantiated, the loop name ([:loopname]) will not effect the code.  once your code reaches a point when you want it to repeat all the code after the loop name use a goto [goto loopname] without a colon.  here's an example of a 'program' that outputs cheez indefinitely until stopped.
:cheezloop
echo cheez
goto cheezloop

That's it!
if you want to use a counted loop (one that only runs a specified number of times, you need to use a variable, a set /a and an if statement.  let me know if I should post on how to use counted loops in batch files.

author
will421 made it!(author)2009-05-28
:loopecho This is a loop!goto loop
author
Danny made it!(author)2009-04-30

"Goto start" probably. Make sure you have start where you want it to loop from.

author
wazupwiop made it!(author)2009-04-25

idk

author
sharlston made it!(author)2009-10-09

whats wrong with my code when im running it it says echo is off

@ECHO OFF
ECHO HI, I AM STICK MAN
ECHO.
ECHO O
ECHO -[]-
ECHO /\

pause

cls

ECHO HI, I AM STICK MAN 2
ECHO.
ECHO O
ECHO -[]-
ECHO /\

pause

cls

ECHO
ECHO
ECHO STICK MAN1 : SHALL WE HAVE A FIGHT
ECHO
ECHO STICK MAN2 : YES

pause

cls

THATS AS FAR AS I GOT AND IT DIDNT WORK WHY?

author
mr.break_it made it!(author)2010-02-04

you have lines with just echo. I assume you wanted empty lines there, in which case, you needed to use echo with a period [echo.] when you use echo without an argument such as a string to output, it just tells you the state of echo, because you set echo to off with [@echo off] it tells you [echo is off].

author
will421 made it!(author)2009-05-28
I have made another text movie!!!
@echo offtitle Crazy Stickmanecho The stickman is SuPeR cRaZy!!!!pauseclsecho I`m bored. I`m going to launch myself from a catpult.echo           0echo          /^|\echo           U______0echo                  /\pathping localhost -q 2 -p 990 > nulclsecho           C                             echo           ^|echo           ^|echo           ^|echo           ^|echo           ^|echo           0echo          /\pathping localhost -q 2 -p 400 > nulclsecho  WEEEEEEEecho  ^>-^|opathping localhost -q 2 -p 10 > nulclsecho   WEEEEEEEecho   ^>-^|opathping localhost -q 2 -p 10 > nulclsecho    WEEEEEEEecho    ^>-^|opathping localhost -q 2 -p 10 > nulclsecho     WEEEEEEEecho     ^>-^|opathping localhost -q 2 -p 10 > nulclsecho       WEEEEEEEecho       ^>-^|opathping localhost -q 2 -p 10 > nulclsecho        WEEEEEEEecho        ^>-^|opathping localhost -q 2 -p 10 > nulclsecho         WEEEEEEEecho         ^>-^|opathping localhost -q 2 -p 10 > nulclsecho          WEEEEEEEecho          ^>-^|opathping localhost -q 2 -p 10 > nulclsecho           WEEEEEEEecho           ^>-^|opathping localhost -q 2 -p 10 > nulclsecho            WEEEEEEEecho            ^>-^|opathping localhost -q 2 -p 10 > nulclsecho             WEEEEEEEecho             ^>-^|opathping localhost -q 2 -p 10 > nulclsecho              WEEEEEEEecho              ^>-^|opathping localhost -q 2 -p 10 > nulclsecho               WEEEEEEEecho               ^>-^|opathping localhost -q 2 -p 10 > nulclsecho               WEEEEEEEecho               ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                WEEEEEEEecho                ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                  WEEEEEEEecho                  ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                    WEEEEEEEecho                    ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                     WEEEEEEEecho 		         ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                      WEEEEEEEecho                      ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                       WEEEEEEEecho                       ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                        WEEEEEEEecho                        ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                        WEEEEEEEecho                        ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                         WEEEEEEEecho                         ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                         WEEEEEEEecho                         ^>-^|opathping localhost -q 2 -p 10 > nulclsecho                              *BONK* OUCH!!!echo                              ^>-^|pathping localhost -q 2 -p 300 > nulclsecho AHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!echo     ^|^|^|echo     \0/echo      ^|echo      /\pathping localhost -q 2 -p 900 > nulclsecho *CRASH*echo.echo.echo      ^>-^|oecho """""""""""""""""""""pathping localhost -q 2 -p 990 > nulclsecho Owww...echo       ****echo        0 echo       /^|\ echo       /\ echo """"""""...""""""""""pathping localhost -q 2 -p 300 > nulclsecho A gun!!! Yay!!!echo    __________echo    ^| *   *  ^|echo    ^|  *     ^|echo    ^|""""^|"""&apos;echo    ^|   *^|echo    ^| *  ^|echo    ^|  * ^|echo    """"""pathping localhost -q 2 -p 500 > nulclsecho  0 ==    \0echo ^|=[]     -^|echo /\        /\pathping localhost -q 2 -p 600 > nulclsecho  0 ==    \0echo ^|=[]  ) -^|echo /\        /\pathping localhost -q 2 -p 20 > nulclsecho  0 ==    \0echo ^|=[]    -^|echo /\       */\pathping localhost -q 2 -p 20 > nulclsecho  0 ==    \0echo ^|=[]    -^|echo /\     _* /\pathping localhost -q 2 -p 20 > nulclsecho  0 ==    \0echo ^|=[]   *-^|echo /\    __* /\pathping localhost -q 2 -p 20 > nulclsecho  0 ==    * \0echo ^|=[]   * -^|echo /\    __* -\pathping localhost -q 2 -p 300 > nulclsecho  0 ==    echo ^|=[]    echo /\     _*_*__echo      __^>--^|o__pathping localhost -q 2 -p 300 > nulclsecho Whoops.echo  0 ==    echo ^|=[]    echo /\     _*_*__echo      __^>--^|o__pathping localhost -q 2 -p 200 > nulclsecho Oh well.echo 0echo /^|\ [] echo /\   ==_*_*__echo      __^>--^|o__pathping localhost -q 2 -p 2000 > nulclsecho This movie was made by:echo.echo                 IIIII L           4   4   2222 1echo  W           W    I   L      L    4   4      2 1echo   W     W   W     I   L      L    44444   2222 1echo    W   W W W      I   L      L        4  2     1echo     W     W     IIIII LLLLLL LLLLL    4 222222 1pause
author
ScienceWiz made it!(author)2009-03-12
good instractble, funny idea and good time user for being bored in class.. some helpful tips! using a ping code will get rid of the pesky "Press any key to continue.." thing. A code like this will allow you to set a time you want it to pause and not have to push anything, this can make for slowmotion picture clips, or fast paced animations. code: ping locaholst 2
author
will421 made it!(author)2009-05-28

ping localhost 2<nul

author
will421 made it!(author)2009-05-27

And telnet doesn`t work with Wine

author
will421 made it!(author)2009-05-07

about ping... it doesn`t work with Wine (Windows Emulator).

author
matrix828 made it!(author)2009-04-05

nice 'ible! however, on some of the "scenes" I can bearly see the people. nice tho! P.S. check out my 'ible for a different mini movie!

author
Lance+Mt. made it!(author)2009-02-27

I would much rather not talk about the actually presentaion (shiver) but rather how about you try to you the pause >nul comand? It gets rid of "Press any key to contiune..."

author
QwertyuioLP made it!(author)2008-08-12

Nice one one problem whenever I try to watch mine not yours CMD pops up for a mo' the disappears wot did I do wrong? Faved

author
QwertyuioLP made it!(author)2008-08-12

I meant when I try to watch my movie ... see above

author
wazupwiop made it!(author)2008-08-12

send me your movie in a pm and i'll take a look at it. (i may add more advanced commands so stick around)

author
carrierpilot1357 made it!(author)2008-08-08

nice work! was it this instructable that you were talking about in the front page of your instructable?

author
wazupwiop made it!(author)2008-08-10

there are a few that mention that

author
wazupwiop made it!(author)2008-07-27

np

author
bounty1012 made it!(author)2008-07-26

thanks this helped ALOT!

author
jackdaun made it!(author)2008-07-18

its ok i figuired it owt.

author
jackdaun made it!(author)2008-07-17

i dunno wat 2 do

About This Instructable

25,236views

13favorites

License:

More by wazupwiop:Text-Controlled Raspberry PiJavascripting Your RaspberryPiStart Your Own Business
Add instructable to: