Introduction to Batch File Viruses

Introduction to Batch File Viruses: We’ll be learning about batch file viruses. We’ll look at various techniques used in small and simple batch file scripts. Even if you have no background in programming, you’ll find it very easy to follow along and learn.

 What are batch files?

batch file is a name given to a type of script file, a text file containing a series of commands to be executed by the command interpreter. Batch files have the extension .bat(or .cmd). They can be easily created using any text editor such as notepad. See here for more details about batch script file.

Now let’s see some of these commands.

echo Hello World

The echo command is used to print out a message, in this case, “Hello World”. Type up the above in a text editor and save it as something.bat. Now open it and a command window pops up. But you’ll notice that it closes before we get a chance to see what it outputs. Let’s fix that.

echo Hello World

The pause command pauses the execution of the batch file until a user presses a key. You should now see the following output:

C:\>echo Hello World
Hello World
Press any key to continue . . .

It first prints

C:\>echo Hello World

then actually executes it to output  Hello World. Let’s see if we can clean this up a little for better GUI (graphical user interface) purposes.

@echo off
echo Hello World

And this outputs…

Hello World
Press any key to continue . . .

@echo off is used to stop the commands from being printed and leaves only the output of those commands. Now let’s add a little dynamic behaviour.

@echo off
set a=Bernie
echo Hello %a%

The set command is used to define variables that can hold different values, in this case the string “Bernie”. The variable name enclosed within %% is how we access the value stored in the variable.

Run the above and you should see:

Hello Bernie 
Press any key to continue . . .

Be careful here, the set command is pretty sensitive to the use of spaces:

set a=Bernie

means a has the value ‘Bernie’.

set a= Bernie

(with a space after the =) means ‘a’ has the value ‘ Bernie’ (with a space before it).

set a =Bernie

and (with a space before =) means that the variable is not defined as a but as a (‘a ’ followed by a space).

Some commands come with modifiers that slightly alter their behaviour:

@echo off
set /a a=5 
set /a b=10
set /a c=%a% + %b% 
echo %c%

In set /a, the /a part is telling set that it should treat the value of the variable as a number, allowing us to perform mathematical operations on it.

@echo off 
set /p a=Enter your name: 
echo Hello %a% 

The /p modifier tells the set command that it should take in some input from the user and store that in the variable a. When you run the batch file, you will be prompted to enter something. The output looks like:

Enter your name: Eve 
Hello Eve 
Press any key to continue . . .

Examples of Batch Files

That was pretty easy, now let’s take a look at a couple more batch files that might actually be useful and then we’ll go and make some viruses.

Pinger Batch Script 1.0

@echo off 
title Pinger Batch Script 1.0
set /p target=Enter IP address or URL: 
ping %target% -t 

This outputs the following:

Notice how the second code line ‘title Pinger Batch Script 1.0’ puts the caption “Pinger Batch Script 1.0” in the batch file window Title when it runs.

Used by itself or in conjunction with other batch script commands it’s pretty handy if you want to quickly ping an IP address/URL or check your internet connection.

NOTE: Pressing CTRL+C forcefully stops any running command (like ping -t which likes to run forever).

Shutdown Timer

This batch file schedules a shutdown after X minutes.

@echo off 
title Shutdown 
Input set /p mins=Enter number of minutes to wait until shutdown: 
set /a mins=%mins%*60 shutdown -s -t %mins%

Almost anything your operating system does for you can be done through batch files. You can even use them to automate repetitive and boring tasks. Remember batch files are scripts.


Related Videos: Related Videos.

Related Links:

My little pony learning game in VB.NET

Tips and Tricks for WRITING JAVASCRIPT code

Using more than one CSS property

Introduction to JavaScript – Variables: String Interpolation

Introduction to JavaScript – Variables: Undefined

Defining What an Application Is

Introduction to JavaScript – Data Types

Introduction to JavaScript – Review Types and Operators

Your first Hello World app in C# Sharp

How to make a go-back button with PHP code?

Coding Autorun.inf Script Virus

What is a Batch file?

Introduction to JavaScript – Control Flow: True and False values

Introduction to JavaScript – Variables: Review

Introduction to JavaScript – Control Flow: if/else Statements

CSS, HTML, JAVASCRIPT, Online Compiler. Code on the go by

Introduction to JavaScript – CONSOLE

Fork Bomb Batch File Virus

Google’s “Grasshopper” Mobile Game Teaches Adults How To Code In An Easy, Accessible Way — And It’s Free

Hello World Android app built with Android Studio

Why do most sites use cookies?



Connected through code, Choose Your Platform!

About the Author: Bernard Aybout

In the land of bytes and bits, a father of three sits, With a heart for tech and coding kits, in IT he never quits. At Magna's door, he took his stance, in Canada's wide expanse, At Karmax Heavy Stamping - Cosma's dance, he gave his career a chance. With a passion deep for teaching code, to the young minds he showed, The path where digital seeds are sowed, in critical thinking mode. But alas, not all was bright and fair, at Magna's lair, oh despair, Harassment, intimidation, a chilling air, made the workplace hard to bear. Management's maze and morale's dip, made our hero's spirit flip, In a demoralizing grip, his well-being began to slip. So he bid adieu to Magna's scene, from the division not so serene, Yet in tech, his interest keen, continues to inspire and convene.