竭诚为您提供优质文档/双击可除
bat批处理模板
篇一:bat使用格式详细说明
1echo和@回显控制命令
@#关闭单行回显
echooff#从下一行开始关闭回显
@echooff#从本行开始关闭回显。一般批处理第一行都是这个
echoon#从下一行开始打开回显
echo#显示当前是
echooff状态还是echoon状态
echo.#输出一个"回车换行",一般就是指空白行
echohelloworld#输出helloworld
"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始
和结束时,系统都会自动打开回显
2errorlevel程序返回码
echo%errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命
令是否执行成功默认值为0,一般命令执行出错会设errorlevel为1
3dir显示目录中的文件和子目录列表
dir#显示当前目录中的文件和子目录
dir/a#显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dirc:/a:d#显示c盘当前目录中的目录
dirc:\/a:-d#显示c盘根目录中的文件
dird:\mp3/b/p#逐屏显示d:\mp3目录里的文件,只显示文件名,不显示时间和大小
dir*.exe/s显示当前目录和子目录里所有的.exe文件其中*是通配符,代表所有的文件名,
还一个通配符代表一个任意字母或汉字如
c*.*代表以c开头的所有文件
.exe代表所有文件名是一个字母的.exe文件
2errorlevel程序返回码
echo%errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命
令是否执行成功默认值为0,一般命令执行出错会设errorlevel为1
3dir显示目录中的文件和子目录列表
dir#显示当前目录中的文件和子目录
dir/a#显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dirc:/a:d#显示c盘当前目录中的目录
dirc:\/a:-d#显示c盘根目录中的文件
dird:\mp3/b/p#逐屏显示d:\mp3目录里的文件,只显示文件名,不显示时间和大小
dir*.exe/s显示当前目录和子目录里所有的.exe文件其中*是通配符,代表所有的文件名,
还一个通配符代表一个任意字母或汉字如
c*.*代表以c开头的所有文件
.exe代表所有文件名是一个字母的.exe文件
如果指定的目录或文件不存在,将返回errorlevel为1
每个文件夹的dir输出都会有2个子目录.和...代表当前目录..代表当前目录的上
级目录。
dir.#显示当前目录中的文件和子目录
dir..#显示当前目录的上级目录中的文件和子目录
其它参数可参考dir/
4cd更改当前目录
cdmp3#进入当前目录中的mp3目录
cd..#进入当前目录中的上级目录
cd\#进入根目录
cd#显示当前目录
cd/dd:\mp3#可以同时更改盘符和目录
cd\"documentsandsettings"\allusers文件名带空格,可以不加引号建议加上引号,因为有的
时候不加引号会运行出错,如登录脚本
每个文件夹的dir输出都会有2个子目录.和...代表当前目录..代表当前目录的上
级目录。
dir.#显示当前目录中的文件和子目录
dir..#显示当前目录的上级目录中的文件和子目录
其它参数可参考dir/
4cd更改当前目录
cdmp3#进入当前目录中的mp3目录
cd..#进入当前目录中的上级目录
cd\#进入根目录
cd#显示当前目录
cd/dd:\mp3#可以同时更改盘符和目录
cd\"documentsandsettings"\allusers文件名带空格,可以不加引号建议加上引号,因为有的
时候不加引号会运行出错,如登录脚本
如果更改到的目录不存在,则出错返回errorlevel=1
5md创建目录
mdabc#在当前目录里建立子目录abc
mdd:\a\b\c#如果d:\a不存在,将会自动创建
6rd删除目录
rdabc#删除当前目录里的abc子目录,要求为空目录
rd/s/qd:\temp#删除d:\temp文件夹及其子文件夹和文件,不需要按y确认
7del删除文件
deld:\#删除指定文件,不能是隐藏、系统、只读文件
del*.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按y确认
del/q/a/fd:\temp\*.*删除d:\temp文件夹里面的所有文件,包括隐藏、只读、系统文件,
不包括子目录。
del/q/a/f/sd:\temp\*.*删除d:\temp及子文件夹里面的所有文件,包括隐藏、只读、系统
文件,不包括子目录
8ren文件重命名
5md创建目录
mdabc#在当前目录里建立子目录abc
mdd:\a\b\c#如果d:\a不存在,将会自动创建
6rd删除目录
rdabc#删除当前目录里的abc子目录,要求为空目录
rd/s/qd:\temp#删除d:\temp文件夹及其子文件夹和文件,不需要按y确认
7del删除文件
deld:\#删除指定文件,不能是隐藏、系统、只读文件
del*.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按y确认
del/q/a/fd:\temp\*.*删除d:\temp文件夹里面的所有文件,包括隐藏、只读、系统文件,
不包括子目录。
del/q/a/f/sd:\temp\*.*删除d:\temp及子文件夹里面的所有文件,包括隐藏、只读、系统
文件,不包括子目录
8ren文件重命名
2.bak#把1.txt更名为2.bak
ren*.txt*.ini#把当前目录里所有.txt文件改成.ini文件
rend:\temptmp#支持对文件夹的重命名
9cls清屏
10type显示文件内容
typec:\boot.ini#显示指定文件的内容,程序文件一般会显示乱码
type*.txt#显示当前目录里所有.txt文件的内容
11copy拷贝文件
copyc:\d:\#复制c:\文件到d:\
copyc:\d:\test.bak#复制c:\文件到d:\,并重命名为test.bak
copyc:\*.*#复制c:\所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,
则默认目标路径为当前目录
#从屏幕上等待输入,按ctrl+z结束输入,输入内容存为文件
con代表屏幕,prn代表打印机,nul代表空设备
+#合并1.txt和2.txt的内容,保存为3.txt文件如果不指定
ren*.txt*.ini#把当前目录里所有.txt文件改成.ini文件
rend:\temptmp#支持对文件夹的重命名
9cls清屏
10type显示文件内容
typec:\boot.ini#显示指定文件的内容,程序文件一般会显示乱码
type*.txt#显示当前目录里所有.txt文件的内容
11copy拷贝文件
copyc:\d:\#复制c:\文件到d:\
copyc:\d:\test.bak#复制c:\文件到d:\,并重命名为test.bak
copyc:\*.*#复制c:\所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,
则默认目标路径为当前目录
#从屏幕上等待输入,按ctrl+z结束输入,输入内容存为文件
con代表屏幕,prn代表打印机,nul代表空设备
+#合并1.txt和2.txt的内容,保存为3.txt文件如果不指定
3.txt,则保存到1.txt
+复制文件到自己,实际上是修改了文件日期
12title设置cmd窗口的标题
title新标题#可以看到cmd窗口的标题栏变了
13ver显示系统版本
14label和vol设置卷标
vol#显示卷标
label#显示卷标,同时提示输入新卷标
labelc:system#设置c盘的卷标为system
15pause暂停命令
运行该命令时,将显示下面的消息:请按任意键继续...
一般用于看清楚屏幕上显示的内容
16rem和::注释命令
注释行不执行操作
17date和time日期和时间
+复制文件到自己,实际上是修改了文件日期
12title设置cmd窗口的标题
title新标题#可以看到cmd窗口的标题栏变了
13ver显示系统版本
14label和vol设置卷标
vol#显示卷标
label#显示卷标,同时提示输入新卷标
labelc:system#设置c盘的卷标为system
15pause暂停命令
运行该命令时,将显示下面的消息:请按任意键继续...
一般用于看清楚屏幕上显示的内容
16rem和::注释命令
注释行不执行操作
17date和time日期和时间
date#显示当前日期,并提示输入新日期,按"回车"略过输入
date/t#只显示当前日期,不提示输入新日期
time#显示当前时间,并提示输入新时间,按"回车"略过输入
time/t#只显示当前时间,不提示输入新时间
18goto和:跳转命令
:label#行首为:表示该行是标签行,标签行不执行操作
gotolabel#跳转到指定的标签那一行
19find(外部命令)查命令
find"abc"c:\在c:\文件里查含abc字符串的行如果不到,将设
errorlevel返回码为1
find/i"abc"c:\查含abc的行,忽略大小写
find/c"abc"c:\显示含abc的行的行数
20more(外部命令)逐屏显示
morec:\#逐屏显示c:\的文件内容
21tree显示目录结构
date/t#只显示当前日期,不提示输入新日期
time#显示当前时间,并提示输入新时间,按"回车"略过输入
time/t#只显示当前时间,不提示输入新时间
18goto和:跳转命令
:label#行首为:表示该行是标签行,标签行不执行操作
gotolabel#跳转到指定的标签那一行
19find(外部命令)查命令
find"abc"c:\在c:\文件里查含abc字符串的行如果不到,将设
errorlevel返回码为1
find/i"abc"c:\查含abc的行,忽略大小写
find/c"abc"c:\显示含abc的行的行数
20more(外部命令)逐屏显示
morec:\#逐屏显示c:\的文件内容
21tree显示目录结构
treed:\#显示d盘的文件目录结构
22tokens=2,3*delims=,"%)do@echo%i%j%k
会分析中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的。您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母z或z的变量。请记住,FoR变量名分大小写,是通用的;而且,同时不能有52个以上都在使用中。
您还可以在相邻字符串上使用FoR/F分析逻辑;方法是,用单引号将括号之间的filenameset括起来。这样,该字符串会被当作一个文件中的一个单一输入行。最后,您可以用FoR/F命令来分析命令的输出。方法是,将括号之间的filenameset变成一个反括字符串。该字符串会被当作命令行,传递到一个子,其输出会被抓进内存,并被当作
22tokens=2,3*delims=,"%)do@echo%i%j%k
会分析中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的。您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母z或z的变量。请记住,FoR变量名分大小写,是通用的;而且,同时不能有52个以上都在使用中。
您还可以在相邻字符串上使用FoR/F分析逻辑;方法是,用单引号将括号之间的filenameset括起来。这样,该字符串会被当作一个文件中的一个单一输入行。最后,您可以用FoR/F命令来分析命令的输出。方法是,将括号之间的filenameset变成一个反括字符串。该字符串会被当作命令行,传递到一个子,其输出会被抓进内存,并被当作
文件分析。因此,以下例子:
FoR/F"usebackqdelims=="%iin(`set`)do@echo%i
会枚举当前环境中的环境变量名称。
以下列举一个简单的例子,他将说明参数/l和没有参数的区别:
删除文件5.txt
例:
echooFF
FoR/l%%Fin(1,1,5)dodel%%F.txt
或
FoR%%Fin(1,2,3,4,5)dodel%%F.txt
以上2条命令执行的结果都是一样的如下:
c:\&
c:\&
c:\&
c:\&
FoR/F"usebackqdelims=="%iin(`set`)do@echo%i
会枚举当前环境中的环境变量名称。
以下列举一个简单的例子,他将说明参数/l和没有参数的区别:
删除文件5.txt
例:
echooFF
FoR/l%%Fin(1,1,5)dodel%%F.txt
或
FoR%%Fin(1,2,3,4,5)dodel%%F.txt
以上2条命令执行的结果都是一样的如下:
c:\&
c:\&
c:\&
c:\&
c:\&
8、setlocal
开始批处理文件中环境改动的本地化操作。在执行setlocal之后
所做的环境改动只限于批处理文件。要还原原先的设置,必须执
行endlocal。达到批处理文件结尾时,对于该批处理文件的每个
尚未执行的setlocal命令,都会有一个隐含的endlocal被
执行。例:
@echooFF
setpath/*察看环境变量path
pause
setlocal
setpath=e:\tools/*重新设置环境变量path
setpath
pause
endlocal
8、setlocal
开始批处理文件中环境改动的本地化操作。在执行setlocal之后
所做的环境改动只限于批处理文件。要还原原先的设置,必须执
行endlocal。达到批处理文件结尾时,对于该批处理文件的每个
尚未执行的setlocal命令,都会有一个隐含的endlocal被
执行。例:
@echooFF
setpath/*察看环境变量path
pause
setlocal
setpath=e:\tools/*重新设置环境变量path
setpath
pause
endlocal
setpath
从上例我们可以看到环境变量path第1次被显示得时候是系统默认路径。被设置成了e:\tools后显示为e:\tools但当endlocal后我们可以看到他又被还原成了系统的默认路径。但这个设置只在该批处理运行的时候有作用。当批处理运行完成后环境变量path将会还原。
9、shiFt
shiFt命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例:批处理文件注释
echooFF
echo%1%2%3%4%5%6%7%8%9
shiFt
echo%1%2%3%4%5%6%7%8%9
shiFt
echo%1%2%3%4%5%6%7%8%9
执行结果如下:
c::\>shiFt.bat1234567891011
123456789
从上例我们可以看到环境变量path第1次被显示得时候是系统默认路径。被设置成了e:\tools后显示为e:\tools但当endlocal后我们可以看到他又被还原成了系统的默认路径。但这个设置只在该批处理运行的时候有作用。当批处理运行完成后环境变量path将会还原。
9、shiFt
shiFt命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例:批处理文件注释
echooFF
echo%1%2%3%4%5%6%7%8%9
shiFt
echo%1%2%3%4%5%6%7%8%9
shiFt
echo%1%2%3%4%5%6%7%8%9
执行结果如下:
c::\>shiFt.bat1234567891011
123456789
2345678910
34567891011
以上就是基于win2000下的9个批处理命令。批处理命令大全(二)20xx-05-1011:49第二部分:特殊的符号与批处理
在命令行下有些符号是不允许使用的但有些符号却有着特殊的意义。
1、符号(@)
@在批处理中的意思是关闭当前行的回显。我们从上面知道用命令echooff可以关掉整个批处理的命令回显但却不能不显示echooff这个命令。现在我们在这个命令前加上@这样echooff这一命令就被@关闭了回显从而达到所有命令均不回显得要求
2、符号(>)
>的意思是传递并覆盖。他所起的作用是将运行后的回显结果传递到后面的范围(后面可是文件也可是默认的系统控制台)例:
文件1.txt的文件内容为:
1+1
使用命令c:\>dir*.txt&
34567891011
以上就是基于win2000下的9个批处理命令。批处理命令大全(二)20xx-05-1011:49第二部分:特殊的符号与批处理
在命令行下有些符号是不允许使用的但有些符号却有着特殊的意义。
1、符号(@)
@在批处理中的意思是关闭当前行的回显。我们从上面知道用命令echooff可以关掉整个批处理的命令回显但却不能不显示echooff这个命令。现在我们在这个命令前加上@这样echooff这一命令就被@关闭了回显从而达到所有命令均不回显得要求
2、符号(>)
>的意思是传递并覆盖。他所起的作用是将运行后的回显结果传递到后面的范围(后面可是文件也可是默认的系统控制台)例:
文件1.txt的文件内容为:
1+1
使用命令c:\>dir*.txt&
这时候1.txt的内容如下
驱动器c中的卷没有标签。
卷的序列号是301a-1508
c:\的目录
20xx-03-1114:
20xx-04-0416:3818,
篇三:bat批处理语法
目录定义与内涵
1.2.3.4.
5.首先,批处理文件是一个文本文件其次,批处理文件是一种简单的程序第三,每个编写好的批处理文件都相当于一个dos的外部命令第四,在dos和win9x/me系统下例子批处理的作用常用命令
1.例1
2.例2
3.例3特殊命令
驱动器c中的卷没有标签。
卷的序列号是301a-1508
c:\的目录
20xx-03-1114:
20xx-04-0416:3818,
篇三:bat批处理语法
目录定义与内涵
1.2.3.4.
5.首先,批处理文件是一个文本文件其次,批处理文件是一种简单的程序第三,每个编写好的批处理文件都相当于一个dos的外部命令第四,在dos和win9x/me系统下例子批处理的作用常用命令
1.例1
2.例2
3.例3特殊命令
1.2.3.4.5.6.ifgotochoiceforgotochoice例for批处理示例常用命令的返回值及其代表的意义
1.2.3.4.5.backupdiskcompdiskcopyformatxcopy
win2000命令行方式批处理bat文件技巧
1.2.
3.
4.
5.文章结构1.所有内置命令的帮助信息2.环境变量的概念3.内置的特殊符号(实际使用中间注意避开)4.简单批处理文件概念
bat语句结构
1.if语句(选择结构)
2.for语句(循环结构)
bat修改网络设置
定义与内涵
批处理文件,在ms-dos中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。首先,批处理文件是一个文本文件
1.2.3.4.5.backupdiskcompdiskcopyformatxcopy
win2000命令行方式批处理bat文件技巧
1.2.
3.
4.
5.文章结构1.所有内置命令的帮助信息2.环境变量的概念3.内置的特殊符号(实际使用中间注意避开)4.简单批处理文件概念
bat语句结构
1.if语句(选择结构)
2.for语句(循环结构)
bat修改网络设置
定义与内涵
批处理文件,在ms-dos中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。首先,批处理文件是一个文本文件
这个文件的每一行都是一条dos命令(大部分时候就好像我们在dos提示符下执行的命令行一样),你可以使用dos下的edit或者windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
其次,批处理文件是一种简单的程序
可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与c语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的dos命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。第三,每个编写好的批处理文件
都相当于一个dos的外部命令
你可以把它所在的目录放到你的dos搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如c:\batch),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。
第四,在dos和win9x/me系统下
其次,批处理文件是一种简单的程序
可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与c语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的dos命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。第三,每个编写好的批处理文件
都相当于一个dos的外部命令
你可以把它所在的目录放到你的dos搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如c:\batch),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。
第四,在dos和win9x/me系统下
c:盘根目录下的autoexec.bat批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。例子
下面是一个运行于windows98下的autoexec.bat的示例:@echooFFpathc:\windows;c:\windows\command;c:\ucdos;c:\dostools;c:\systools;c:\wintools;c:\/xlhdoskey点settemp=d:\tempsettmp=d:\temp
批处理的作用
简单的说,批处理的作用就是自动的连续执行多条命令。这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示dos提示符):c:\>cdwpsc:\wps>spdosc:\wps>pyc:\wps>wbxc:\wps>wps如果每次用wps之前都这样执行一遍,您是不是觉得很麻烦呢?
好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:@echooffc:cd\wpsspdospywbxwpscd\以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。
常用命令
下面是一个运行于windows98下的autoexec.bat的示例:@echooFFpathc:\windows;c:\windows\command;c:\ucdos;c:\dostools;c:\systools;c:\wintools;c:\/xlhdoskey点settemp=d:\tempsettmp=d:\temp
批处理的作用
简单的说,批处理的作用就是自动的连续执行多条命令。这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示dos提示符):c:\>cdwpsc:\wps>spdosc:\wps>pyc:\wps>wbxc:\wps>wps如果每次用wps之前都这样执行一遍,您是不是觉得很麻烦呢?
好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:@echooffc:cd\wpsspdospywbxwpscd\以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。
常用命令
echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。echo表示显示此命令后的字符
echooff表示在此语句后所有运行的命令都不显示命令行本身
@与echooff相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。call调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause运行此句会暂停批处理的执行并在屏幕上显示“”或“请按任意键继续。。。”的提示,等待用户按任意键后继续。
rem表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。例1
用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动ucdos,进入wps等功能。
批处理文件的内容为:命令注释:
@echooff不显示后续命令行及当前命令行
dirc:\*.*&将c盘文件列表写入a.txt
echooff表示在此语句后所有运行的命令都不显示命令行本身
@与echooff相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。call调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause运行此句会暂停批处理的执行并在屏幕上显示“”或“请按任意键继续。。。”的提示,等待用户按任意键后继续。
rem表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。例1
用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动ucdos,进入wps等功能。
批处理文件的内容为:命令注释:
@echooff不显示后续命令行及当前命令行
dirc:\*.*&将c盘文件列表写入a.txt
callc:\ucdos\ucdos.bat调用ucdos
echo你好显示"你好"
pause暂停,等待按键继续
rem准备运行wps注释:准备运行wps
cducdos进入ucdos目录
wps运行wps
批处理文件的参数
批处理文件还可以像c语言的函数一样使用参数(相当于dos命令的命令行参数),这需要用到一个参数表示符“%”。
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
例2
c:根目录下有一批处理文件名为f.bat,内容为:
@echooff
echo你好显示"你好"
pause暂停,等待按键继续
rem准备运行wps注释:准备运行wps
cducdos进入ucdos目录
wps运行wps
批处理文件的参数
批处理文件还可以像c语言的函数一样使用参数(相当于dos命令的命令行参数),这需要用到一个参数表示符“%”。
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
例2
c:根目录下有一批处理文件名为f.bat,内容为:
@echooff
format%1
如果执行c:\>fa:
那么在执行f.bat时,%1就表示a:,这样format%1就相当于formata:,于是上面的命令运行时实际执行的是formata:
例3
c:根目录下一批处理文件名为t.bat,内容为:@echoofftype%1type%2那么运行c:\&b.txt%1:表示a.txt%2:表示b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
特殊命令
ifgotochoicefor
ifgotochoicefor是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
一、if是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:
1、if[not]"参数"=="字符串"待执行的命令
如果执行c:\>fa:
那么在执行f.bat时,%1就表示a:,这样format%1就相当于formata:,于是上面的命令运行时实际执行的是formata:
例3
c:根目录下一批处理文件名为t.bat,内容为:@echoofftype%1type%2那么运行c:\&b.txt%1:表示a.txt%2:表示b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
特殊命令
ifgotochoicefor
ifgotochoicefor是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
一、if是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:
1、if[not]"参数"=="字符串"待执行的命令
参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。
例:if"%1"=="a"formata:
2、if[not]exist[路径\]文件名待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如:ifexistc:\config.systypec:\config.sys
表示如果存在c:\config.sys文件,则显示它的内容。
3、iferrorlevel待执行的命令
很多dos程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过iferrorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。
如iferrorlevel2gotox2
goto
goto批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符
例:if"%1"=="a"formata:
2、if[not]exist[路径\]文件名待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如:ifexistc:\config.systypec:\config.sys
表示如果存在c:\config.sys文件,则显示它的内容。
3、iferrorlevel待执行的命令
很多dos程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过iferrorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。
如iferrorlevel2gotox2
goto
goto批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符
串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。
如:
gotoend
:end
echothisistheend
标号用“:字符串”来定义,标号所在行不被执行。
choice
choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于iferrorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为dos或者windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice/查看用法。
choice的命令语法(该语法为windows20xx中choice命令的语法,其它版本的choice的命令语法与此大同小异):choice[/cchoices][/n][/cs][/ttimeout/dchoice][/mtext]
描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
如:
gotoend
:end
echothisistheend
标号用“:字符串”来定义,标号所在行不被执行。
choice
choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于iferrorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为dos或者windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice/查看用法。
choice的命令语法(该语法为windows20xx中choice命令的语法,其它版本的choice的命令语法与此大同小异):choice[/cchoices][/n][/cs][/ttimeout/dchoice][/mtext]
描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
参数列表:
/cchoices指定要创建的选项列表。默认列表是"yn"。
/n在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/cs允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/ttimeout做出默认选择之前,暂停的秒数。可接受的值是从0到9999。如果指定了0,就不会有暂停,默认选项
会得到选择。
/dchoice在nnnn秒之后指定默认选项。字符必须在用/c选项指定的一组选择中;同时,必须用/t指定nnnn。
/mtext指定提示之前要显示的消息。如果没有指定,工具只显示提示。
/显示帮助消息。
注意:
eRRoRleVel环境变量被设置为从选择集选择的键索引。列出的第一个选择返回1,第二个选择返回2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回255的eRRoRleVel值。如果用户按ctrl+break或ctrl+c键,该工
/cchoices指定要创建的选项列表。默认列表是"yn"。
/n在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/cs允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/ttimeout做出默认选择之前,暂停的秒数。可接受的值是从0到9999。如果指定了0,就不会有暂停,默认选项
会得到选择。
/dchoice在nnnn秒之后指定默认选项。字符必须在用/c选项指定的一组选择中;同时,必须用/t指定nnnn。
/mtext指定提示之前要显示的消息。如果没有指定,工具只显示提示。
/显示帮助消息。
注意:
eRRoRleVel环境变量被设置为从选择集选择的键索引。列出的第一个选择返回1,第二个选择返回2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回255的eRRoRleVel值。如果用户按ctrl+break或ctrl+c键,该工
具会返回0的eRRoRleVel值。在一个批程序中使用eRRoRleVel参数时,将参数降序排列。
示例:
choice/
choice/cync/m"确认请按y,否请按n,或者取消请按c。"
choice/t10/cync/cs/dy
choice/cab/m"选项1请选择a,选项2请选择b。"
choice/cab/n/m"选项1请选择a,选项2请选择b。"
如果我运行命令:choice/cync/m"确认请按y,否请按n,或者取消请按c。"
屏幕上会显示:
确认请按y,否请按n,或者取消请按c。[y,n,c]
例
test.bat的内容如下(注意,用iferrorlevel判断返回值时,要按返回值从高到低排列):
@echooff
choice/cdme/m"defrag,mem,end"
iferrorlevel3gotoend
示例:
choice/
choice/cync/m"确认请按y,否请按n,或者取消请按c。"
choice/t10/cync/cs/dy
choice/cab/m"选项1请选择a,选项2请选择b。"
choice/cab/n/m"选项1请选择a,选项2请选择b。"
如果我运行命令:choice/cync/m"确认请按y,否请按n,或者取消请按c。"
屏幕上会显示:
确认请按y,否请按n,或者取消请按c。[y,n,c]
例
test.bat的内容如下(注意,用iferrorlevel判断返回值时,要按返回值从高到低排列):
@echooff
choice/cdme/m"defrag,mem,end"
iferrorlevel3gotoend
iferrorlevel2gotomem
iferrotlevel1gotodefrag
:defrag
c:\dos\defrag
gotoend
:mem
mem
gotoend
:end
echogoodbye
此批处理运行后,将显示“defrag,mem,end[d,m,e]”,用户可选择dme,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以gotoend将程序跳到end标号处,然后程序将显示goodbye,批处理运行结束。
for
iferrotlevel1gotodefrag
:defrag
c:\dos\defrag
gotoend
:mem
mem
gotoend
:end
echogoodbye
此批处理运行后,将显示“defrag,mem,end[d,m,e]”,用户可选择dme,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以gotoend将程序跳到end标号处,然后程序将显示goodbye,批处理运行结束。
for
for循环命令,只要条件符合,它将多次执行同一命令。
语法:
语法:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论