Batch file ABCs
Creating a batch file
Batch commands
Batch file examples
Technical support
Debug Routines
Creating a batch file
Batch commands
Batch file examples
Technical support
Debug Routines
Batch
files allow MS-DOS and Microsoft Windows users to create a lists of commands to
run in sequence once the batch file has been executed. For
example, a batch file could be used to run frequently run commands, deleting a
series of files, moving files, etc. A simple batch file does not require any
special programming skills and can be done by users who have a basic
understanding ofMS-DOS commands.
A
good example of a batch file for someone who is more familiar with Windows or
the MacOS is to think of a batch file as a shortcut in Windows
or an icon on the MacOS. Much like a shortcut, batch files could be used to run
one or more commands and/or programs through the command line.
Another
example of a very well known batch file is the autoexec.bat, which is a simple
boot file loaded each time the computer is loaded on MS-DOS and early Windows
computers. This batch file contained all the necessary commands and programs
used to run MS-DOS and Windows each time the computer booted.
To
create a basic batch file in MS-DOS, follow the below steps that give you an
example of how to create a basic batch file.
- Open an MS-DOS command window or get to MS-DOS. Additional information about doing this can be found on document CHDOS.
- At the MS-DOS prompt, type: edit test.bat and press enter.
- If typed properly, you should now be in a blue screen. Within the screen,
type:
pause
dir c:\windows
dir c:\windows\system
- Once the above three lines have been typed in, click File and choose exit; when prompted to save, click "Yes." Users who do not have a mouse cursor can accomplish this same task by pressing ALT+F to access the file menu, then pressing "X" to exit, and pressing enter to save changes.
- Once you are back at the MS-DOS prompt, type: test and press enter. This will execute the test.bat file and begin running the file. Because the first line is pause, you will first be prompted to press a key. Once you press a key the batch file will run line-by-line; in this case, listing the files in the windows and windows\system directories.
If
you wish to add more lines to this batch file you would simply type "edit
test.bat" to edit the file again.
Additional
information about the MS-DOS edit command can be found on
our edit command page. Some versions of MS-DOS and bootable diskettes may not
have the edit command; if this is the case, you would either need to obtain the
edit.com file to access this file or use the copy con command.
A
Windows user can still use the above MS-DOS steps if they wish to create a batch
file. If, however, you're more comfortable using Microsoft Windows or your
operating system, you can use any text editor, such as Notepad or Wordpad, to create
your batch files, as long as the file extension ends with .bat.
In the below example we use the Windows notepad to create a batch file.
- Click Start
- Click Run
- Type: notepad and press enter.
- Once notepad is open, type the below lines in the file or copy and paste the below lines
into notepad.
@echo off
echo Hello this is a test batch file
pause
dir c:\windows
- Click File and click Save; browse to where you want to save the file. For the file name, type "test.bat", and if your version of Windows has a "Save as type" option, choose "All files", otherwise it will save as a text file. Once all of this has been done click the Save button and exit notepad.
- Now, to run the batch file, simply double-click or run the file like any other program. Once the batch file has completed running it will close the window automatically.
Just
like all MS-DOS commands, all batch file commands are not case sensitive.
However, in the below listing we have listed all commands in all caps to help
you identify what is a command and what is not.
@
|
Does not echo back the text after
the at symbol. This is most commonly used as @
|
%1
|
The percent followed by a numeric
value, beginning with one, allows users to add variables within a batch file.
The below line is an example of what can be used in a batch file.
When the above one-line batch file is created, add your name after the batch file. For example, typing myname (being the name of the bat file) and then your name: myname bob would output: Hello bob Note: This can be extended to %2, %3, and so on. |
::
|
One of two ways of adding remarks into
the batch file without displaying or executing that line when the batch file
is run.
|
:LABEL
|
By adding a colon in front of a
word, such as LABEL, you create a category, more commonly known
as a label. This allows you to skip to certain
sections of a batch file such as the end of the batch file. Also see
|
CALL
|
This is used to run another batch
file within a batch file. When the batch file that is called is completed,
the remainder of the original batch file is completed. Note if the batch file
does not exist it will give an error message.
|
CHOICE
|
See running
different programs for an example of how to use this command.
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our CHOICE command page.
|
Just like the DOS command would
clear your screen.
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our CLS command page.
|
|
Will echo a message in the batch
file. Such as
|
|
EXIT
|
Exits out of the DOS window if the
batch file is running from Windows.
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our EXIT command page.
|
Used to go to a certain label, such
as LABEL. An example of
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our GOTO command page.
|
|
IF
|
Used to check for a certain
condition if the condition exists. If that condition exists it will perform
that function. To see an example of this see running
different programs.
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our IF command
page.
|
PAUSE
|
Prompt the user to press any key to
continue.
|
REM
|
One of two ways of adding remarks into
the batch file without displaying or executing that line when the batch file
is run.
|
SHIFT
|
Changes the position of replaceable
parameters in a batch program.
·
Additional information and the
syntax of this command in each version of Windows and MS-DOS can be found on
our SHIFT command page.
|
START
|
Used for Windows 95, Windows 98,
and Windows NT 4.0 and above to start a
windows application; such as START C:\WINDOW\
·
Additional information about the
start command can be found on our start command
page.
|
Running different
programs
How to start Windows files and programs from a batch file
Creating a batch file delay
How to make a time log
How to start Windows files and programs from a batch file
Creating a batch file delay
How to make a time log
Below
is a simple example of how you can implement the choice options into your batch
files. Each line that is in red can be left out of the batch file. They have
been included to help explain some of what the batch file means. Windows
2000 and Windows XP users will need to
substitute the choice command with the set command; see our set command
page for additional help and information with this command.
@ECHO
OFF
REM - LABEL INDICATING THE BEGINNING OF THE DOCUMENT.
:BEGIN
CLS
REM - THE BELOW LINE GIVES THE USER 3 CHOICES (DEFINED AFTER /C:)
CHOICE /N /C:123 PICK A NUMBER (1, 2, or 3)%1
REM - THE NEXT THREE LINES ARE DIRECTING USER DEPENDING UPON INPUT
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
GOTO END
:THREE
ECHO YOU HAVE PRESSED THREE
GOTO END
:TWO
ECHO YOU HAVE PRESSED TWO
GOTO END
:ONE
ECHO YOU HAVE PRESSED ONE
:END
REM - LABEL INDICATING THE BEGINNING OF THE DOCUMENT.
:BEGIN
CLS
REM - THE BELOW LINE GIVES THE USER 3 CHOICES (DEFINED AFTER /C:)
CHOICE /N /C:123 PICK A NUMBER (1, 2, or 3)%1
REM - THE NEXT THREE LINES ARE DIRECTING USER DEPENDING UPON INPUT
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
GOTO END
:THREE
ECHO YOU HAVE PRESSED THREE
GOTO END
:TWO
ECHO YOU HAVE PRESSED TWO
GOTO END
:ONE
ECHO YOU HAVE PRESSED ONE
:END
To
run Microsoft Windows programs or files use the START command. The below example
would run Windows Notepad.
START
/MAX NOTEPAD
You
can also specify the direct location of the file by typing the below
command.
START
/MAX C:\Windows\NOTEPAD.EXE
*Windows
users who have a different directory (e.g. Windows 2000 users) would need to
substitute WINNT or the name of their directory in place of Windows in the above
example.
The
/m representing it to start the window Maximized. See our start
command page for additional information about this command.
Below
is an example of how to delay a batch file any where from 5 to 99 seconds. In
the below example we illustrate a 5 second delay.
TYPE
NUL | CHOICE.COM /N /CY /TY,5 >NUL
Additionally,
you could use the sleep file found on our utility download section.
The
below example demonstrates how to create a time log of when the batch file is
loaded, or for example, this could be used in the autoexec.bat when someone logs
into a computer that supports this file.
ECHO.
|TIME > TIME
COPY LOG +TIME
COPY LOG +TIME
An
alternate, slightly more complicated method that, to our knowledge, cannot be
used in Windows NT, Windows 2000 or Windows ME would be the following:
echo
@prompt set date=$d$_set time=$t$h$h$h > {a}.bat
%comspec% /e:2048 /c
{a}.bat > {b}.batfor %%v in ({b}.bat del) do call %%v {?}.bat
echo %date% %time% >> log
Another
alternative is:
echo.
|time |find "current" >> log
For
the above batch file to work properly you must create a file called log,
by typing edit log and then save
and exit the file, creating a 0 bytes file. If this file is not created or not
created properly you will receive the error message Content of destination
lost before copy.
No comments:
Post a Comment