批处理文件指南
后缀是
bat
的文件就是批处理文件,是一种文本文件。简单的说,它的做用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢?
好比,在启动
wps
软件时,每次都必须执行
C:\>cd wps
C:\WPS>spdos
C:\WPS>py
C:\WPS>wbx
C:\WPS>wps
若是每次用
WPS
以前都这样执行一次,您是否是以为很麻烦呢?
若是有一个方法,只需编写一个批处理文件,就会自动执行刚才的全部命令,您想不想学呢?
当您看完此节,本身编写的第一个批处理文件顺利执行时,您必定会大吃一惊的。
此外电脑每次启动时都会寻找
autoexec.bat
这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径
path
、加载鼠标驱动
mouse
、磁盘加速
smartdrv
等,能够使您的电脑真正自动化。
echo
、
@
、
call
、
pause
、
rem
是批处理文件最经常使用的几个命令,咱们就从他们开始学起。
echo
表示显示此命令后的字符
echo off
表示在此语句后全部运行的命令都不显示命令行自己
@
与
echo off
相象,但它是加在其它命令行的最前面,表示运行时不显示命令行自己。
call
调用另外一条批处理文件(若是直接调用别的批处理文件
,执行完那条文件后将没法执行当前文件后续命令)
pause
运行此句会暂停,显示
Press any key to continue...
等待用户按任意键后继续
rem
表示此命令后的字符为解释行,不执行,只是给本身从此查找用的
例:用
edit
编辑
a.bat
文件,输入下列内容后存盘为
c:\a.bat
,执行该批处理文件后可实现:将根目录中全部文件写入
a.txt
中,启动
UCDOS
,进入
WPS
等功能。
批处理文件的内容为
:
文件表示:
echo off
不显示命令行
dir c:\*.* >a.txt
将
c
盘文件列表写入
a.txt
call c:\ucdos\ucdos.bat
调用
ucdos
echo
你好
显示
"
你好
"
pause
暂停
,
等待按键继续
rem
使用
wps
注释将使用
wps
cd ucdos
进入
ucdos
目录
wps
使用
wps
批处理文件中还能够像
C
语言同样使用参数,这只需用到一个参数表示符
%
。
%
表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量能够从
%0
到
%9
,
%0
表示文件名自己,字符串用
%1
到
%9
顺序表示。
例如,
C
:根目录下一批处理文件名为
f.bat
,内容为
format %1
则若是执行
C:\>f a:
则实际执行的是
format a:
又如
C
:根目录下一批处理文件的名为
t.bat
,内容为
type %1 type %2
那么运行
C:\>t a.txt b.txt
将顺序地显示
a.txt
和
b.txt
文件的内容
if goto choice for
是批处理文件中比较高级的命令,若是这几个你用得很熟练,你就是批处理文件的专家啦。
if
表示将判断是否符合规定的条件,从而决定执行不一样的命令。
有三种格式
:
1
、
if "
参数
" == "
字符串
"
待执行的命令
参数若是等于指定的字符串,则条件成立,运行命令,不然运行下一句。
(
注意是两个等号)
如
if "%1"=="a" format a:
2
、
if exist
文件名
待执行的命令
若是有指定的文件,则条件成立,运行命令,不然运行下一句。如
if exist config.sys edit config.sys
3
、
if errorlevel
数字
待执行的命令
若是返回码等于指定的数字,则条件成立,运行命令,不然运行下一句。如
if errorlevel 2 goto x2
DOS
程序运行时都会返回一个数字给
DOS
,称为错误码
errorlevel
或称返回码
goto
批处理文件运行到这里将跳到
goto
所指定的标号处,
通常与
if
配合使用。
如
:
goto end
:end
echo this is the end
标号用
:
字符串
表示,标号所在行不被执行
choice
使用此命令可让用户输入一个字符,从而运行不一样的命令。使用时应该加
/c:
参数,
c:
后应写提示可输入的字符,之间无空格。它的返回码为
1234……
如
: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
例如,
test.bat
的内容以下
:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后,将显示
defrag,mem,end[D,M,E]?
用户可选择
d m e
,而后
if
语句将做出判断,
d
表示执行标号为
defrag
的程序段,
m
表示执行标号为
mem
的程序段,
e
表示执行标号为
end
的程序段,每一个程序段最后都以
goto end
将程序跳到
end
标号处,而后程序将显示
good bye
,文件结束。
for
循环命令,只要条件符合,它将屡次执行同一命令。
格式
FOR [%%f] in (
集合
) DO [
命令
]
只要参数
f
在指定的集合内,则条件成立,执行命令
若是一条批处理文件中有一行
:
for %%c in (*.bat *.txt) do type %%c
含义是若是是以
bat
或
txt
结尾的文件,则显示文件的内容。
autoexec.bat
DOS
在启动会自动运行
autoexec.bat
这条文件,通常咱们在里面装载每次必用的程序,如
: path(
设置路径
)
、
smartdrv(
磁盘加速
)
、
mouse(
鼠标启动
)
、
mscdex(
光驱链接
)
、
doskey(
键盘管理
)
、
set(
设置环境变量
)
等。
若是启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。
例如,一个典型的
autoexec.bat
内容以下
:
@echo off
不显示命令行
prompt $p$g
设置提示符前有目录提示
path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools
设置路径
lh c:\dos\doskey.com
加载键盘管理
lh c:\mouse\mouse.com
加载鼠标管理
lh c:\dos\smartdrv.exe
加载磁盘加速管理
lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V
加载
CD-ROM
驱动
set temp=c:\temp
设置临时目录