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

Participated in the
The Instructables Book Contest
56 Comments
9 years ago on Introduction
@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???
Reply 2 years ago
I know you posted this 7 years ago but on the off chance you will get this and for some reason you are still having this problem the title replace the = with a space
6 years ago
how can i adjust the speed of moving , en make sound
7 years ago
Gonna necro this, but couldn't you literally just put:
timeout (time to stop) /nobreak >nul
cls
instead of forcing user interaction?
Reply 7 years ago
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. :)
15 years ago on Introduction
is it possible to add a pause in a batch file?
Reply 15 years ago on Introduction
yes, but can be VERY VERY HARD if you don't know what you are doing
Reply 15 years ago on Introduction
Elaborate?
Reply 14 years ago on Introduction
he is joking, all you do is type pause on the next line.
Reply 14 years ago on Introduction
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
Reply 7 years ago
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.
Reply 8 years ago
ping localhost -n 2 >nul
in which the 2 is how many seconds it waits before it continues. Hope this helped.
Reply 14 years ago on Introduction
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).
Reply 14 years ago on Introduction
thx
Reply 14 years ago on Introduction
Wait, I try this and cmd just pops up with "number+1"
Reply 14 years ago on Introduction
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.
Reply 14 years ago on Introduction
ok
Reply 14 years ago on Introduction
Yep. ASCII is H-A-R-D.
Reply 14 years ago on Introduction
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
Reply 14 years ago on Introduction
THANK YOU SO MUCH! Been doing .bat (for fun) for a year now... couldn't find that anywhere... -cheers, Chris