Batch Tutorial - Take 2

9,456

13

38

Posted in PlayOffbeat

Introduction: 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'll 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'd 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're 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

    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Spotless Contest

      Spotless Contest
    • Trash to Treasure

      Trash to Treasure
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    38 Comments

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

    @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

    Birdies, LOL.

    ur a terrible person i like that

    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!

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

    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

    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.

    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?

    you can.. just use start iexplore.exe nameofsite.com

    or: start www.nameofsite.com

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

    3 replies

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

    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 " | " :)

    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

    yeah ist very instructive althought the screen is kind of small

    @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?

    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...