天行健,君子以自强不息!

Altair's Blog

统计

留言簿(2)

阅读排行榜

评论排行榜

批处理程序学习

批处理程序学习

.何为批处理文件(Batch File)

批处理: 就是将不同时间所要做的工作集中在同时间内一次完成.

批处理文件是一个以DOS指令与命令文件组成的文本文件,其扩展名为.BAT

e.g.:

@echo off

:mactest

macadd

if not errorlevel 1 goto mac_pass

echo Mac Address Test Fail !!!

echo failure code : i06

pause

goto mactest

:mac_pass

 

.批处理文件的基本指令

@

    用来清除批处理文件中接在@之后的指令,使它们在整个执行的过程中不会显示在屏幕上.

%n;n=0,1,…,9

用来承接DOS的外接字符。相当于一些执行程序带参数的形式

最多只能设置到%9

CALL[批处理文件名]

在一个批处理中去执行另一个批处理。流程图如下:

CHOICE [/C:字键][/N][/S][/T:C,nn][提示字符]

用来在批处理中加入交互的功能,即可以通过键盘来选取选项,以执行你想要执行的工作。

参数说明:

/C:字键

用来设置可允许输入的键值。例:CHOICE /C:PEN

CHOICE执行时便会在屏幕上显示[P,E,N]?

/N

用来取消提示符的显示

/S

用来设置是否要对输入的选择键值做大写的限制

/T:C,nn

用来设置选项的内容值及等待输入的秒数,C指内定的键值﹔nn指要等待输入的秒数(0~99)

提示字符

设置询问用的提示字符

echo

将信息显示到屏幕上。有以下几种用法:

1.显示目前的ECHO状况为ONOFF。如下:

ECHO

2.将字符显示在屏幕上。如下:

ECHO[字符]

3.显示批处理文件中所要执行的指令。如下:

ECHO ON

将信息显示到屏幕上。有以下几种用法:

4.不显示批处理文件中所要执行的指令。如下:

ECHO OFF

5.显示一行空白。如下:

ECHO.

 

FOR %%VAR IN (文件名或字符集) DO 指令[指令参数]

对某集合的所有文件或字符重复执行相同的指令。其中,VAR是一个变量,其值可为单一一个字母(:A~Za~z);(文件名或字符集)是一个或一个以上的文件或字符(须以空白或逗号隔号)

C:\>FOR %I IN (A: B:) DO DIR %I /W

Note:

DOS下用应为:FOR %%VAR IN (文件名或字符集) DO 指令 [指令参数]

 

 

GOTO 注标位置(或名称)

 

跳转指令,每当批处理文件执行到此指令时,批处理文件控制权就会跳到注标处继续执行。

设置注标,例:

LOOP

Loop即为要到的注标位置

 

 

IF

 

根据条件来判断是否要执行循环内指令。有三种形式:

1.IF [NOT] ERRORLEVEL n指令

含义:若执行完前一个指令之后所返回的结果大于或等于n时,则表示条件成立,并立即执行其后的指令。

Note:通常DOS在执行完指令后都会返回一个值(n)来表示是否顺利。

 

根据条件来判断是否要执行循环内指令。有三种形式:

2.IF [NOT] EXIST 文件名称 指令

含义:若所指的文件名称存在,则表示条件成立,并立即执行其后的指令。

 

根据条件来判断是否要执行循环内指令。有三种形式:

3.IF [NOT] 字符1 ==字符2 指令

含义:若字符1与字符2相同,则表示条件成立,并立即执行其后的指令。

 

pause

用来暂停批处理文件的执行。

并在屏幕上显示出“Press any key to continue”的信息,若要继续执行,则可再按下任意键。

 

REM注释

 

REMREMark的缩写,勇于注意说明的意思。

 

@echo off

d:

cd\bear

spk

:usex

net use x: \\rr\rev /yes

if not errorlevel 1 goto x_pass

showpf /fail

echo.

echo Lan card not workt !!

echo Lan card not workt !!

pause

goto usex

:x_pass

msifc x:\auto.278 d:\boot\auto.278

if not errorlevel 1 goto ver_pass

showpf /fail

echo.

echo Test HDD version different !!

echo Test HDD version different !!

 

pause

goto x_pass

 

:ver_pass

net use x: /delete

cd\boot\lnk

net time \\rr /set /y

if not errorlevel 1 goto time_pass

showpf /fail

echo.

echo LAN compare time error !!

echo LAN compare time error !!

pause

goto ver_pass

 

:time_pass

del c:\bbb

cd\boot

power

 

 

配置文件(CONFIG.SYS)

配置文件(Configuration File)是一个很特殊的文件,用来建立DOS的工作环境

例:驱动器的管理、驱动程序的安装、文件打开数的设置等等。

 

计算器执行过程:

Autoexec.bat自动执行批处理文件,每当启动计算器,DOS在根目录找CONFIG.SYS配置文件,并依照该文件的内容来设置DOS的系统环境。

 

由于CONFIG.SYS文件内的设置在计算器启动后即立刻生效,所以CONFIG.SYS文件内容修改后,必须重新启动一次,才能让已修改的环境设置生效。

BUFFERS = n[,m][/x]

表示设置磁盘缓冲区的数目,通常设置为20-30左右。缺省值一般为15。磁盘缓冲区是一块内存区,用于存储从磁盘读入的数据或存储写到磁盘的数据。

n是指缓冲区的数目

m是指每次存取的扇区数

设置磁盘缓冲区目的:提高数据存取的效率

 

配置文件的专用指令

COUNTRY = xxx[,yyy][,路径名称]

日期与时间的使用格式常会因国家的不同而不同,此指令可允许你以各国家所使用的格式来表示日期与时间。

xxx是指国家代号

yyy是指页码

路径名称是存放特定国家数据格式的文件所在。

 

 

DEVICE = 驱动程序名称

DEVICEHIGH = 驱动程序文件名称

 

 

配置文件的专用指令

用于加载一些内存驻留程序,用于管理设备。比如内存管理程序和光驱驱动程序等。如:

  DEVICE=C:DOSHIMEM.SYS

  DEVICE=C:DOSEMM386.EXE RAM

  DEVICEHIGH=C:CDROMCDROM.SYS

DEVICEHIGHDEVICE的不同是前者将程序加加载高端内存。

DOS

一般情况下,需要CONFIG.SYS档加入这条命令,这样会将DOS的系统文件移入高端内存,空出更多的基本内存给其它软件使用。

需要注意的是,如果没有安装EMM386.EXEUMB,那么这条指令将是无效的。

FILES = n

表示可同时打开的档数,一般可选择2050,需要注意的是,如果把FILES的值设得过大会占用过多的基本内存。

系统缺省为FILES=8

[MENU]

MENUITEM=TST,Save test CMOS setup

MENUITEM=DEF,Save default CMOS setup

MENUITEM=ME,Windows ME                  Intel 801DB

MENUITEM=FB,Flash BIOS

MENUDEFAULT=ME,3

MENUCOLOR=15,1

 

[COMMON]

DEVICE=C:\WINDOWS\IFSHLP.SYS

 

[DEF]

[TST]

[ME]

[FB]

posted on 2005-12-30 11:47 Altair's Blog 阅读(385) 评论(0)  编辑 收藏 引用 所属分类: OS (操作系统)

只有注册用户登录后才能发表评论。