Sunteți pe pagina 1din 8

Information on batch files

Quick links
Batch file ABCs
Creating a batch file
Batch commands
Batch file examples
Technical support
Debug Routines
Batch file ABCs
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 of MS-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 or programs through the command line.
Another example of a very well known batch file is
the autoexec.bat, which is a boot batch file loaded each time
the computer boots into MS-DOS and early versions of
Windows. This batch file contained all the necessary commands
and programs used to run MS-DOS and Windows each time the
computer booted.
Creating a batch file
MS-DOS users
Microsoft Windows and other users
MS-DOS users
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.
1. Open an MS-DOS command window or get to MS-DOS.
2. At the MS-DOS prompt, type: edit test.bat and press enter.

3. If typed properly, you should now be in a blue screen. Within


the screen, type:
pause
dir c:\windows
dir c:\windows\system
4. 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.
5. 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 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 the case,
you would either need to obtain the edit.com file to access this file
or use the copy con command.
Microsoft Windows and other users
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 asNotepad 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.
1. Click Start
2. Click Run
3. Type: notepad and press enter.
4. 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 a test batch file
pause
dir c:\windows
5. 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.
6. Now, to run the batch file, double-click or run the file like any
other program. Once the batch file has completed running it
will close the window automatically.
Batch commands
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
most commonly used as @ECHO OFF to prevent any of
the commands in the batch file from being displayed,
just the information needed.

%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.
ECHO Hello %1
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. Unlike REM this line will not show regardless if
ECHO off is in the batch file.
: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 GOTO.

CALL

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

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.

ECHO

Will echo a message in the batch file. Such as ECHO


Hello World will print Hello World on the screen when
executed. However, without @ECHO OFF at the
beginning of the batch file you'll also get "ECHO Hello
World" and "Hello World." Finally, if you'd just like to
create a blank line, typeECHO. adding the period at the
end creates an empty line.

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.

GOTO
LABEL

Used to go to a certain label, such as LABEL. An example


of GOTO would be to GOTO END. For 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 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.

Shift command help and syntax information.

START

Used for Windows 95, Windows 98, and Windows NT


4.0 and above to start a windows application; such
as START C:\WINDOW\CALC would run the Windows
Calculator. Users running Windows 3.xneed to utilize the
WIN command. For example, WIN
C:\Windows\CALC.EXE would run Windows and then
Calculator after Windows has finished loading.

Start command help and syntax information.

Batch file examples


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
Running different programs

Below is an 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
the 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
How to start Windows files and other programs from a batch
file
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 the start
command page for additional information about this command.
Creating a batch file delay
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.
How to make a time log in a batch file
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
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}.bat
for %%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.
Technical support
Reference

Questions

MS-DOS

Additional questions and answers on MS-DOS.

CH000010

Deleting files in MS-DOS without a prompt.

CH000036

How to execute commands in a batch file in timed intervals.

CH000209

Information about long file names.

CH000319

Creating a blank line in a batch file.

CH000320

How to exit a Windows MS-DOS window through a batch file.

CH000321

How to shut down and restart the computer with a batch file.

CH000322

How to run a batch file each time the computer boots.

CH000323

How to quickly replace the file extensions of several files.

CH000435

How to make a bat executable?

CH000540

How to change the title of a MS-DOS Window.

CH000570

Additional information and options for the rundll32.exe file.

CH000738

Preventing a MS-DOS window from automatically closing in Wind

CH000754

Deleting files equal to 0 in a batch file.

CH000785

How can I run a batch file at a specific time?

CH000932

How can I run a batch file or other file minimized?

CH000987

How can I make a batch file rename a file to the date or time?

CH001041

How can I play a sound file from a Windows batch file?

CH001049

How can I run a batch file in full screen?

CH001050

How can I loop or start a batch file over after it has completed?

CH001102

Searching for a string of text in a MS-DOS batch file.

CH001313

Hide REM lines from showing in a batch file.

CH001345

How can I start an exe in a batch file?

Forum

If your question is not listed on this page, try our online forum.

S-ar putea să vă placă și