Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Batch File Creation & Commands: Internal/External, Run Line, Useful Commands & Operators, Study notes of Java Programming

An overview of creating batch files using text editors and the different types of commands: internal and external. It also covers run line commands, useful commands with descriptions, and operators. A list of various windows commands and their functions.

What you will learn

  • What are the two types of commands in batch file programming?
  • How can batch files be used for playing sound files?
  • What is the 'net' command used for and what are its sub-commands?
  • What is the difference between copying files in ASCII mode and binary mode?
  • What is the purpose of the 'for' command with the '/F' switch?

Typology: Study notes

2017/2018

Uploaded on 05/12/2018

lalit-srivastava
lalit-srivastava 🇮🇳

1 document

1 / 155

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Batch File Creation & Commands: Internal/External, Run Line, Useful Commands & Operators and more Study notes Java Programming in PDF only on Docsity!

Preface

This book 'Batch File Programming' is written after experimenting and testing all the snippets covered in this book. Batch File Programming is a pretty old one, but i have found lot of books that haven’t covered the dark-side of the batch, which still remains untold. The ultimate goal of this book is to make the readers understand how it works, what are the limitations of the batch, what else is possible with a batch, constructing useful programs with various views, Creating a batch virus by mis-using the commands, creating a batch file to an executable and lot more.

This book is aimed at novice to advanced programmer, No matter if you are new to programming, this would be the right drive to start with, since this book contains real time examples along with screenshots that really helps in a better understanding of the concept.

First Edition May 2009

Dedicated to

This Book is dedicated to W3Cert and I hope the contents in this E-Book ‘ Batch File Programming will really help the students of W3Cert for their exploration in batch file programming and interfering with the windows kernel by using the commands given in this book.

First Edition May 2009

This page is intentionally left blank

Batch File Programming

Introduction Batch file programming is the native programming offered by the Microsoft Windows Operating System. Batch file is created using any text editors like notepad, WordPad, WinWord or so on, which comprises of a sequence of built-in commands used to perform some often done tasks like deleting a series of files of same type or of different type, creating logs, clearing unwanted craps from your computer and even for creating a batch VIRUS.

Whenever a Batch program is executed, it was interpreted line-by-line by the CLI (Command Line Interpreter) command.com or the cmd.exe. Batch file is really helpful in automating tedious tasks and for maintaining system logs. The commands used while creating a batch file are case insensitive, in the sense that it may accept both small and upper case letters.

Modes: There are two different modes that are supported by DOS (Disk Operating System), they were,

  1. Interactive Mode.
  2. Batch Mode (Silent Mode).

Interactive mode: In interactive mode, when a command is executed, it interacts with the user for input and depending upon the input supplied by the user, the further processes are carried out. For example, let’s take the ‘del’ command.

The ‘del’ command is used for deleting files that reside inside a directory. Now I am going to delete all the files inside a folder named ‘a’, and when I executed the following command, it is interacting with me prompting “Are you sure (Y/N)?”, confirming the deletion operation, and depending upon my input, it decides what to do. If I hit ‘ Y ’ then it will delete the files specified, else if I hit ‘ N ’ then it won’t delete.

C:>del a C:\a*, Are you sure (Y/N)? y

Batch Mode:

Batch mode can also be referred as ‘Silent mode’ or ‘ Quiet Mode’ , and this is mere opposite to the interactive mode. The command that operates at batch mode will never interact with the user at any instance, instead it will take care of every operation by itself.

For example, I am going to explain this by using the same ‘del’ command. There is a switch available for the ‘ del ’ command, which makes the command to operate at silent mode, and that switch is ‘/Q’

C:>del /Q a C:> In this case, the command is not at all interacting with me, whether to delete those file or not.

In the above example, I have tried to delete the same files in the same folder by using the same command but with a different switch. Anyhow both the commands will perform the same operation but the mode it operates differs.

How to create a Batch Program:

As said earlier, batch programs can be written using any of the text editors such as notepad, wordpad and so on, but notepad is the most often used text editor in such cases. Like any other programing languages, lets start our first program with the ‘Hello World’ program.

  1. Open up a notepad and type the following. @echo off Echo Hello World pause

Internal and External Commands

There are two types of commands that we can run from a command prompt, and they were,

_1. Internal commands

  1. External commands._

Internal Commands

Internal commands are nothing but the built-in commands that are shipped along with the operating system, for example, echo, cls, del, dir were few of the well known internal commands.

External Commands

External commands are the commands that are often created while installing a new application and these commands mostly have no use except calling that application and support files. Few external commands can only be executed in the ‘Run’ dialog box (start  Run), but not on the command prompt, and those commands include ‘firefox’. The ‘firefox’ command can be executed only from the run line, that too if the firefox application is installed on that machine and it won’t work on the command prompt.

Likewise the ‘firefox’ there are various other external commands such as the “ PsTools ” which includes commands like, PsExec , PsFile , PsGetSid , PsInfo , PsKill , PsList , PsLoggedOn and so on.

Run Line commands

As said earlier batch file is comprised of sequence of run line commands, hence it’s a must to know at least few useful run line commands for constructing a good batch program. Here I am going to list out the useful run line commands with a brief description.

Commands Descriptions access.cpl Accessibility Controls accwiz Accessibility Wizard appwiz.cpl Add/Remove Programs ciadv.msc Indexing Service control admintools Administrative Tools cleanmgr Disk Cleanup Utility control color Display Properties compmgmt.msc Computer Management Console control folders Folder Options cliconfg SQL Client Configuration certmgr.msc Certificate Manager charmap Character Map chkdsk Check Disk Utility clipbrd Clipboard Viewer calc Opens calculator cmd Opens command prompt devmgmt.msc Device Manager dfrg.msc Disk Defragmenter

makecab Cabinet Maker, file compressor. msconfig Open System Configuration Utility mshearts Opens Hearts game msinfo32 System Information mspaint Opens Mspaint msmsgs Windows Messenger mstsc Remote Desktop mmsys.cpl Sounds and Audio mqbkup Message Queue Backup\Restore Utility notepad Opens a New Notepad ntmsmgr.msc Removable Storage ntmsoprq.msc Removable Storage Operator Requests ncpa.cpl Network Connections netsetup.cpl Network Setup Wizard openfiles Used to view Files Opened Remotely via local share points odbccp32.cpl ODBC Data Source Administrator osk On Screen Keyboard proxycfg Proxy configuration packager Object Packager perfmon.msc Performance Monitor powercfg.cpl Power Options pentnt Checks for Floating point error in Intel based processors qappsrv Displays the available application terminal servers

on the network. qprocess Displays information about processes qwinsta Display information about Terminal Sessions rcp Copies files to and from computer running the RCP service recover Recovers readable information from a bad or defective disk. relog Used for Logging. replace Replaces files rexec Runs commands on remote hosts running the REXEC service route Manipulates network routing tables rsh Runs commands on remote hosts running the RSH service rsm Manages media resources using Removable Storage runas Allows a user to run specific tools and programs with different permissions than the user’s current logon provides. regedit Opens Registry Editor rsop.msc Resultant Set of Policy rwinsta Reset the session rasphone Remote Access Phonebook services.msc Used for Managing all the services on the computer.

running on a remote session. tourstart Windows XP Tour Wizard tsshutdn shutdown in 60 sec typeperf Very useful in login events. Used to monitor Processor threads and writes into a specified log file. userinit My Documents verifier Driver Verifier Utility winchat Microsoft Chat winmine Minesweeper Game wuaucpl.cpl Automatic Updates wscui.cpl Security Center wmplayer Windows Media Player wmimgmt.msc Windows Management Infrastructure w32tm Tool used to diagnose problems occurring with Windows Time. register to run as a service and add default configuration to the registry winmsd System Information. wupdmgr Windows Update Launches winver Displays Windows Version write Opens WordPad

Batch Operators

Similar to other programming languages, batch program do support various operators for performing operations like arithmetic and logical operations, bitwise AND, OR, NOT, shifting and re- direction operation and separators and grouping operators.

Operators Description () Grouping ! ~ - Unary operators

  • / % + - Arithmetic operators << >> < > Logical shift and re directional operators & Bitwise and ^ Bitwise exclusive or | Bitwise or = *= /= %= += -= &= ^= |= <<= >>= Assignment operators , separator && For using Multiple commands || For executing one from many commands

The above given were the operators available in Batch file programming for performing arithmetic and logical operations.

Let me brief you the operators with a small example,

Note : For performing arithmetic operations, the ‘SET’ command should be used along with the ‘/A’ switch.

For performing an addition operation on two integers, then I have to use the below command,

C:>set /A 5 + 5 10

In the above example, the expression that is enclosed within the ‘()’ operator gets the high priority and thus 10-5 is ‘5’, the next priority moves to the ‘/’ division operator and ‘6/2’ gives ‘3’, then comes the multiplication ‘’ operator 52 gives ‘10’ then it is summed up with ‘3’ to obtain the final result as ‘13’.

To redirect the output of one command to other file, the ‘>’ and ‘<’ command is used. For example the below command is used to print the text “hello redirection” to a notepad file named “first.txt”

C:>echo hello redirection > first.txt C:>

As we already have seen that the ‘echo’ command is used for printing the given text on the screen, here by using the redirection operator ‘>’ we are redirecting the output of the command to a text file. It will create a new text file even it wasn’t already there. Likewise you can redirect the output of any command to any other files. The below command is used for performing the same operation but the redirection happens to word document,

C:> echo hello redirection > first.doc

The tilde ‘~’ operator is a unary operator that is used for shortening the long directory names, the following example will brief with the usage of this operator. The tilde operator can be used after 6 consecutive characters of a directory name, for example the “Documents and Settings” is a directory that contains more than 8 characters, instead of typing them all and messing with it, we can use the ‘~’ operator, so that it will automatically recognizes the path and performs the operation mentioned,

C:>cd C:\DOCUME~1\CYB3RC~1\LOCALS~1\Temp C:\DOCUME~1\CYB3RC~1\LOCALS~1\Temp>

The above command is just a path to the location “C:\Documents and Settings\Cyb3rcr4wl3r\Local Settings\Temp”, where “ Cyb3rcr4wl3r’ is the user account on my computer.

Note: even though the ‘~’ operator is a unary operator, it can’t be used without the 1 following the operator.

The ‘&&’ operator is used to execute multiple commands in a single line, for example, the following command is used to print the text ‘hi’ and ‘hello’ using two different echo commands,

C:>echo Hi && echo hello Hi Hello

The pipeline operator is used for giving the output of one command as input for another command,

C:>echo Y | del *.txt

In the above example, whenever you delete a file using the del command, it will prompt you with a confirmation message whether to delete the file or not, and only depending upon the user input it will proceed further, here we can make use of the pipeline ‘|’ operator to print ‘Y’ when the ‘del’ command prompt for the user interaction.

Whenever the ‘ del ’ command prompts the user for the confirmation, the output of the echo command (i.e. ‘ Y ’) will be given as input for the del command, and as a result it deletes all the text files that reside in the specified directory.