BAT批处理命令编写详细手册
- 格式:doc
- 大小:81.50 KB
- 文档页数:25
bat批处理命令及解释⼀、批处理概念批处理⽂件:包含DOS命令的可编辑可执⾏⽂件批处理:可以对某⼀对象批量操作的⽂件⼆、批处理命令简介命令1~101 echo 和 @回显命令@ #关闭单⾏回显echo off #从下⼀⾏开始关闭回显@echo off #从本⾏开始关闭回显。
⼀般批处理第⼀⾏都是这个echo on #从下⼀⾏开始打开回显echo #显⽰当前是 echo off 状态还是 echo on 状态echo. #输出⼀个”回车换⾏”,空⽩⾏#(同echo, echo; echo+ echo[ echo] echo/ echo)2 errorlevelecho %errorlevel%每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码默认值为0,⼀般命令执⾏出错会设 errorlevel 为13 dir显⽰⽂件夹内容dir #显⽰当前⽬录中的⽂件和⼦⽬录dir /a #显⽰当前⽬录中的⽂件和⼦⽬录,包括隐藏⽂件和系统⽂件dir c: /a:d #显⽰ C 盘当前⽬录中的⽬录dir c: /a:-d #显⽰ C 盘根⽬录中的⽂件dir c: /b/p #/b只显⽰⽂件名,/p分页显⽰dir *.exe /s #显⽰当前⽬录和⼦⽬录⾥所有的.exe⽂件4 cd切换⽬录cd #进⼊根⽬录cd #显⽰当前⽬录cd /d d:sdk #可以同时更改盘符和⽬录5 md创建⽬录md d:abc #如果 d:a 不存在,将会⾃动创建中级⽬录#如果命令扩展名被停⽤,则需要键⼊ mkdir abc6 rd删除⽬录rd abc #删除当前⽬录⾥的 abc ⼦⽬录,要求为空⽬录rd /s/q d:temp #删除 d:temp ⽂件夹及其⼦⽂件夹和⽂件,/q安静模式7 del删除⽂件del d:test.txt #删除指定⽂件,不能是隐藏、系统、只读⽂件del /q/a/f d:temp*.*删除 d:temp ⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录del /q/a/f/s d:temp*.*删除 d:temp 及⼦⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录8 ren重命名命令ren d:temp tmp #⽀持对⽂件夹的重命名9 cls清屏10 type显⽰⽂件内容type c:boot.ini #显⽰指定⽂件的内容,程序⽂件⼀般会显⽰乱码type *.txt #显⽰当前⽬录⾥所有.txt⽂件的内容命令11~2011 copy拷贝⽂件copy c:test.txt d:test.bak复制 c:test.txt ⽂件到 d: ,并重命名为 test.bak从屏幕上等待输⼊,按 Ctrl+Z 结束输⼊,输⼊内容存为test.txt⽂件con代表屏幕,prn代表打印机,nul代表空设备copy 1.txt + 2.txt 3.txt合并 1.txt 和 2.txt 的内容,保存为 3.txt ⽂件如果不指定 3.txt ,则保存到 1.txtcopy test.txt +复制⽂件到⾃⼰,实际上是修改了⽂件⽇期12 title设置cmd窗⼝的标题title 新标题 #可以看到cmd窗⼝的标题栏变了13 ver显⽰系统版本14 label 和 vol设置卷标vol #显⽰卷标label #显⽰卷标,同时提⽰输⼊新卷标label c:system #设置C盘的卷标为 system15 pause暂停命令 //常⽤于使命令⾏窗⼝暂停,不⾄于打开bat⽂件后⽴即结束16 rem 和 ::注释命令注释⾏不执⾏操作17 date 和 time⽇期和时间date #显⽰当前⽇期,并提⽰输⼊新⽇期,按"回车"略过输⼊date/t #只显⽰当前⽇期,不提⽰输⼊新⽇期time #显⽰当前时间,并提⽰输⼊新时间,按"回车"略过输⼊time/t #只显⽰当前时间,不提⽰输⼊新时间18 goto 和 :跳转命令:label #⾏⾸为:表⽰该⾏是标签⾏,标签⾏不执⾏操作goto label #跳转到指定的标签那⼀⾏19 find (外部命令)查找命令find "abc" c:test.txt在 c:test.txt ⽂件⾥查找含 abc 字符串的⾏如果找不到,将设 errorlevel 返回码为1find /i “abc” c:test.txt查找含 abc 的⾏,忽略⼤⼩写find /c "abc" c:test.txt显⽰含 abc 的⾏的⾏数20 more (外部命令)逐屏显⽰more c:test.txt #逐屏显⽰ c:test.txt 的⽂件内容命令21~3021 tree显⽰⽬录结构tree d: #显⽰D盘的⽂件⽬录结构22 &顺序执⾏多条命令,⽽不管命令是否执⾏成功23 &&顺序执⾏多条命令,当碰到执⾏出错的命令后将不执⾏后⾯的命令find "ok" c:test.txt && echo 成功如果找到了"ok"字样,就显⽰"成功",找不到就不显⽰24 ||顺序执⾏多条命令,当碰到执⾏正确的命令后将不执⾏后⾯的命令find "ok" c:test.txt || echo 不成功如果找不到"ok"字样,就显⽰"不成功",找到了就不显⽰25 |管道命令dir *.* /s/a | find /c ".exe"管道命令表⽰先执⾏ dir 命令,对其输出的结果执⾏后⾯的 find 命令该命令⾏结果:输出当前⽂件夹及所有⼦⽂件夹⾥的.exe⽂件的个数type c:test.txt|more这个和 more c:test.txt 的效果是⼀样的26 > 和 >>> 清除⽂件中原有的内容后再写⼊>> 追加内容到⽂件末尾,⽽不会清除原有的内容主要将本来显⽰在屏幕上的内容输出到指定⽂件中指定⽂件如果不存在,则⾃动⽣成该⽂件type c:test.txt >prn屏幕上不显⽰⽂件内容,转向输出到打印机echo hello world>con在屏幕上显⽰hello world,实际上所有输出都是默认 >con 的copy c:test.txt f: >nul拷贝⽂件,并且不显⽰"⽂件复制成功"的提⽰信息,但如果f盘不存在,还是会显⽰出错信息copy c:test.txt f: >nul 2>nul不显⽰”⽂件复制成功”的提⽰信息,并且f盘不存在的话,也不显⽰错误提⽰信息echo ^^W ^> ^W>c:test.txt⽣成的⽂件内容为 ^W > W^ 和 > 是控制命令,要把它们输出到⽂件,必须在前⾯加个 ^ 符号27 <从⽂件中获得输⼊信息,⽽不是从屏幕上⼀般⽤于 date time label 等需要等待输⼊的命令@echo offecho 2005-05-01>temp.txtdate <temp.txtdel temp.txt这样就可以不等待输⼊直接修改当前⽇期28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令⾏传递给批处理的参数 //上⼀个命令的结果作为参数%0 批处理⽂件本⾝%1 第⼀个参数%9 第九个参数%* 从第⼀个参数开始的所有参数批参数(%n)的替代已被增强。
BAT (.run) 命令使用方法随着计算机技术的不断发展,批处理文件(或称BAT文件)成为了计算机操作中不可或缺的一部分。
BAT文件是一种文本文件,其中包含了一系列用于执行命令的代码。
在Windows操作系统中,可以使用.bat文件扩展名来命名批处理文件。
而在Unix系统中,通常使用.sh扩展名。
BAT命令是一种可以简化计算机操作的命令行工具。
通过编写BAT文件,用户可以在其中包含一系列的命令,以便一次性运行多个命令。
这种方式不仅可以提高工作效率,还可以避免重复性的操作和减少输入错误。
本文将介绍BAT命令的使用方法,帮助读者更好地掌握BAT文件的编写和运行。
一、编写BAT文件的基本步骤编写BAT文件的基本步骤如下:1. 打开文本编辑器。
可以使用Windows自带的记事本或其他文本编辑器,如Notepad++等。
2. 编写批处理命令。
在文本编辑器中输入需要执行的命令,每个命令占据一行。
3. 保存文件。
将文件保存为.bat格式,文件名可以任意命名,但需要以.bat结尾。
二、BAT文件的基本语法BAT文件的基本语法包括:1. 注释:可以在BAT文件中添加注释,以“REM”开头,后面跟着注释内容。
注释可以帮助他人理解和阅读代码,但不会被计算机执行。
2. 命令:可以在BAT文件中添加需要执行的命令,每个命令占据一行。
3. 变量:可以在BAT文件中定义和使用变量,以“SET”命令开头,后面跟着变量名和值。
三、BAT文件的常用命令BAT文件中可以包含各种Windows命令和程序的调用,常用的命令包括:1. 文件操作:包括复制文件、移动文件、删除文件等。
2. 目录操作:包括创建目录、删除目录、切换目录等。
3. 系统命令:包括运行程序、关闭程序、修改环境变量等。
4. 循环和条件:可以在BAT文件中使用循环和条件语句,实现复杂的逻辑处理。
四、BAT文件的运行方法BAT文件的运行方法包括:1. 双击运行:可以直接双击BAT文件来执行其中的命令。
BAT批处理之⽂件与⽂件夹操作代码(附xcopy命令详解)批处理中的⽂件、⽂件夹操作,xcopy命令的⽤法。
例1:复制cd.dll⽂件⾄windows\system32的bat⽂件内容:复制代码代码如下:copy cd.dll %windir%\system32复制代码代码如下:del %windir%\system32\cd.dll复制代码代码如下:del C:\DOWNLOAD\*.*注意,以处的del命令只能删⽂件,不能删⽂件夹。
删除⽂件夹使⽤rd命令,如下:复制代码代码如下:rd Filemon这⾥filemon⽂件夹和该bat⽂件在同⼀⽬录下,就省去具体路径了。
但rd只能删除空⽂件夹.要删除⽂件夹及其⾥⾯的所有⼦⽬录和⽂件,⽤rd命令带/s /q参数,/s参数表⽰删除该⽂件夹及其下⾯的⼦⽬录和⽂件/q参数表⽰,不需要确认例⼦:复制代码代码如下:rd 123 /s /q例:在E:\My documents下⾯⼀次创建3个新⽂件夹:Newfolder1,Newfolder2,Newfolder3复制代码代码如下:@echo offmd "E:\My documents\Newfolder1"md "E:\My documents\Newfolder2"md "E:\My documents\Newfolder3"例1:执⾏C盘下的WinWord.exe程序复制代码代码如下:start C:\WinWord.exe例2:⽤某个程序打开某个⽂件,如⽤TheWorld.exe打开⼀个htm⽂件复制代码代码如下:start d:\TheWorld\TheWorld.EXE C:\我有⼀个恋爱.htm[注意]:不论是程序或⽂件路径中含有空格,都必须⽤引号括起来:复制代码代码如下:start d:\TheWorld\TheWorld.EXE "e:\My documents\我有⼀个恋爱.htm"所有程序中的引号不能是全⾓的,必须⽤半⾓的格式,所以输⼊引号前最好关闭汉字输⼊系统XCOPY 还有众多的功能,是加参数来完成的。
如何自己编写BAT批处理文件自己编写.bat批处理文件可以帮助我们自动化一些重复性的任务,提高工作效率。
下面是一些编写.bat批处理文件的基础知识和常见用法。
一、基本知识1. 批处理文件的文件扩展名是.bat。
3.批处理文件是一系列的命令,每一行包含一个命令。
4.可以在批处理文件中使用变量和条件语句。
二、常用命令2. echo:打印文本到屏幕上。
3. pause:暂停批处理的执行,等待用户按下任意键继续。
4. cd:改变当前目录。
5. dir:列出当前目录下的文件和子目录。
6. copy:复制文件。
7. del:删除文件。
8. move:移动文件。
9. start:打开指定的应用程序或文件。
10. call:调用另一个批处理文件。
11. if:条件判断命令。
三、编写示例下面是一个简单的示例,演示了如何编写一个.bat批处理文件。
echo "欢迎使用我的批处理文件!"pauseecho "现在开始列出当前目录下的文件和子目录:"dirpauseecho "请输入要复制的文件名:"set /p filename=copy %filename% D:\backupecho "文件已复制到D:\backup目录下。
"pausestart D:\backup以上示例演示了一个简单的批处理文件,具体功能包括:1.打印欢迎信息到屏幕上。
2.暂停批处理的执行,等待用户按下任意键继续。
3.列出当前目录下的文件和子目录。
4. 提示用户输入要复制的文件名,将文件复制到D:\backup目录下。
5. 打开D:\backup目录。
这只是一个简单的示例,实际应用中可以根据需要,编写更复杂的批处理文件来完成更多的任务。
四、进阶用法除了基本的命令和语法,我们还可以通过批处理文件实现更复杂的功能,如循环、条件判断、函数调用等。
这些功能可以通过使用批处理文件的变量、条件语句和跳转命令来实现。
bat批处理教程批处理是一种在Windows操作系统中执行一系列命令的脚本语言。
它可以自动化执行一些重复性的任务,帮助提高工作效率。
在本篇教程中,我们将介绍批处理的基本语法和常用命令,并给出一些示例以便读者更好地理解。
首先,我们需要了解一些批处理的基本语法。
一个批处理文件通常以`.bat`或`.cmd`的扩展名结尾,并且可以使用任何文本编辑器进行编写。
批处理文件由一系列命令组成,每个命令占据一行。
命令的执行顺序是从文件的第一行到最后一行,因此需要注意命令的先后顺序。
接下来,让我们介绍一些常用的批处理命令。
首先是`echo`命令,它用于在屏幕上显示一条消息。
例如,`echo HelloWorld!`将在屏幕上显示"Hello World!"。
可以使用`>`操作符将输出重定向到文件中,例如`echo Hello World! > output.txt`将输出保存到名为"output.txt"的文件中。
另一个常用的命令是`cd`命令,它用于改变当前目录。
例如,`cd C:\Users`将切换到"C:\Users"目录下。
可以使用`..`来返回上一级目录,例如`cd ..`将返回上一级目录。
`dir`命令用于列出当前目录下的文件和子目录。
例如,`dir`将列出当前目录下的所有文件和子目录的名称。
`pause`命令用于暂停批处理的执行并等待用户按下任意键。
这在需要确认某个操作时非常有用。
`if`命令用于根据条件执行不同的命令。
例如,使用`if exist filename.txt echo File exists`命令可以检查是否存在名为"filename.txt"的文件,如果存在则显示"File exists"。
使用`for`命令可以对一组文件或目录进行批处理操作。
例如,`for %%F in (*.txt) do echo %%~nF`将显示所有以".txt"结尾的文件的文件名。
教你如何自己编写BAT批处理文件2教你如何自己编写BAT批处理文件22.添加一行命令指示批处理文件的类型。
3.添加其他的命令行命令。
-在后续行添加各种命令行命令,每个命令占一行。
4. 保存文件并将文件扩展名改为 `.bat`。
- 在文件保存对话框中选择一个合适的保存位置,然后将文件名输入为 `filename.bat`,其中 `filename` 是你自己设置的文件名。
1.示例1:输出文本内容```echo "Hello, world!"pause```- `echo "Hello, world!"` 命令输出引号内的文本。
- `pause` 命令使得命令行窗口暂停运行,直到用户按下任意键。
2.示例2:运行其他程序```start "C:\Program Files\Internet Explorer\iexplore.exe"```- `start "C:\Program Files\Internet Explorer\iexplore.exe"` 命令运行指定路径的程序,在本例中是 Internet Explorer 浏览器。
3.示例3:复制文件```copy "C:\path\to\source\file.txt" "C:\path\to\destination\"```- `copy "C:\path\to\source\file.txt""C:\path\to\destination\"` 命令复制指定路径的文件到另一个路径。
4.示例4:删除文件```del "C:\path\to\file.txt"```- `del "C:\path\to\file.txt"` 命令删除指定路径的文件。
BAT批处理脚本教程1.BAT脚本的基本语法一个最简单的BAT脚本如下所示:```echo Hello, World!pause```2.变量和参数在 BAT 脚本中,可以使用变量来存储和操作数据。
变量的定义使用`set` 命令,如下所示:```set variable_name=value```使用变量的值时,需要使用 `%` 符号将变量名括起来,如`%variable_name%`。
脚本可以通过命令行参数接收外部传递进来的值。
使用`%n`表示第n 个参数,其中n是从1开始的整数。
3.控制流语句控制流语句用于根据条件执行不同的命令。
常用的控制流语句有`if` 和 `for`。
`if` 语句可以根据条件执行不同的命令块。
使用语法如下:```if conditionelse````for` 语句用于循环执行命令块。
使用语法如下:``````4.文件和文件夹操作BAT 脚本可以通过命令执行文件和文件夹的操作。
常用的文件和文件夹操作命令有 `copy`、`del`、`mkdir`、`rmdir`等。
`copy` 命令用于复制文件,语法如下:```copy source_file destination_file````del` 命令用于删除文件,语法如下:```del file````mkdir` 命令用于创建文件夹,语法如下:```mkdir folder````rmdir` 命令用于删除文件夹,语法如下:```rmdir folder```5.实例以下是一个简单的BAT脚本示例,用于批量重命名文件夹中的文件:```setlocal enabledelayedexpansionset folder_path=C:\Path\To\Folderset new_name=NewNamefor %%f in (%folder_path%\*) doset "filename=%%~nf"ren "%%f" "!filename:%folder_path%=%new_name%!"echo Done!pause```该脚本首先定义了要操作的文件夹路径和新名称。
这个教程也是我迄今为止见过的写得最好的BAT教程,为什么我这么讲:1.这个教程非常全面2.教程大量采用实例讲解,简单易懂3.作者很有心,在教程中间插入了许多有趣的东西,让大家学习过程当中不在感到枯燥[不过在这里为了方便大家收录,我给去掉了,SORRY啊]4.教程写得很细。
5.由于教程非常全面,完成可以把它当作你学习的参考资料,在遇到问题的时候在这里一般都可以找到解决的方法。
在学习之前请作好心理准备,因为教程很长,不过大家也不要着急,一口是吃不成胖子的,慢慢来!第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BA T或者CMD。
这些命令统称批处理命令。
小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。
了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BA T!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到非常BAT!请按任意键继续. . .这就是一个简单批处理文件了,这个批处理文件一共就用了2条命令"echo" 和"pause" 还有一个特殊符号"@"从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!(以下内容来源网络,请各位仔细阅读,好进入下节的实例说明)======================================================批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)1、REM 和::2、ECHO 和@3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和:9、FIND10、START11、assoc 和ftype12、pushd 和popd13、CALL14、shift15、IF16、setlocal 与变量延迟17、ATTRIB 显示或更改文件属性介绍命令1、REM 和::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
bat 操作手册`bat` 是一个用于处理批处理文件的命令行工具,它提供了一种更简洁、易读的方式来编写批处理脚本。
以下是 `bat` 的操作手册,介绍了如何使用`bat` 命令以及其支持的各种语法和功能。
1. 基础语法基本语法如下:```phpbat <script_file>```其中 `<script_file>` 是包含批处理命令的脚本文件。
2. 命令行参数`-i`:交互模式,允许用户与脚本进行交互。
`-e`:执行脚本中的命令。
`-o`:将输出重定向到文件。
`-q`:安静模式,不显示命令的输出。
`-v`:详细模式,显示更详细的输出信息。
`-l`:限制执行的命令行长度。
3. 命令行参数的使用示例:将脚本中的输出保存到文件:```bashbat -o```4. 注释使用 `REM` 或 `::` 进行注释。
例如:```batchREM 这是一个注释:: 这也是一个注释```5. 变量和环境变量使用 `%variable%` 的形式定义变量。
例如:`set name=John`。
使用 `!variable!` 的形式访问变量的值。
例如:`echo %name%` 将输出"John"。
使用 `%PATH%` 等访问环境变量。
6. 控制结构`if`:条件语句。
例如:`if %name%==John echo Hello, John!`。
`for`:循环语句。
例如:`for %%i in (1 2 3) do echo %%i` 将输出 "1"、"2" 和 "3"。
`goto`:跳转语句。
例如:`goto :label` 将跳转到名为 "label" 的标签处。
`exit`:退出脚本。
例如:`exit /b` 将立即退出脚本,不关闭命令行窗口。
`call`:调用另一个脚本或函数。
Bat命令学习/SunShineYPH/archive/2011/12/13/2285570.html基础部分:======================================================================一、基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。
可以使用任何文本文件编辑工具创建和修改。
2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。
3.批处理的编程能力远不如C语言等编程语言,也十分不规范。
4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。
5.C:\AUTOEXEC.BAT 是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。
6.大小写不敏感(命令符忽略大小写)7.批处理的文件扩展名为 .bat 或 .cmd。
8.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。
二、参数:1) 系统参数%SystemRoot% === C:\WINDOWS (%windir% 同样)%ProgramFiles% === C:\Program Files%USERPROFILE% === C:\Documents and Settings\Administrator (子目录有“桌面”,“开始菜单”,“收藏夹”等)%APPDATA% === C:\Documents andSettings\Administrator\Application Data%TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp(%TEM% 同样)%APPDATA% === C:\Documents andSettings\Administrator\Application Data%OS% === Windows_NT (系统)%Path%=== %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的设置)%HOMEDRIVE% === C: (系统盘)%HOMEPATH% === \Documents and Settings\Administrator :: 枚举当前的环境变量setlocal enabledelayedexpansionFOR /F "usebackq delims==" %%i IN (`set`) DO@echo %%i !%%i!2) 传递参数给批处理文件%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。
BA T编写详细手册首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows 的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。
当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。
批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。
第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。
一个良好的习惯是在硬盘上建立一个bat或者batch 目录(例如C:\BA TCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。
第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。
下面是一个运行于Windows 98下的autoexec.bat的示例:@ECHO OFFPATHC:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINT OOLS;C:\BATCHLH SMARTDRV.EXE /XLH /INSERTLH CTMOUSE.EXESET TEMP=D:\TEMPSET TMP=D:\TEMP批处理的作用简单的说,批处理的作用就是自动的连续执行多条命令。
这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示DOS 提示符):C:\>cd wpsC:\WPS>spdosC:\WPS>pyC:\WPS>wbxC:\WPS>wps如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:@echo offc:cd\wpsspdospywbxwpscd\以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。
常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动UCDOS,进入WPS等功能。
批处理文件的内容为: 命令注释:@echo off不显示后续命令行及当前命令行dir c:\*.* >a.txt将c盘文件列表写入a.txtcall c:\ucdos\ucdos.bat调用ucdosecho 你好显示"你好"pause 暂停,等待按键继续rem 准备运行wps 注释:准备运行wpscd ucdos 进入ucdos目录wps 运行wps批处理文件的参数批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符"%"。
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。
变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
例2:C:根目录下有一批处理文件名为f.bat,内容为:@echo offformat %1如果执行C:\>f a:那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:例3:C:根目录下一批处理文件名为t.bat,内容为:@echo offtype %1type %2那么运行C:\>t a.txt b.txt%1 : 表示a.txt%2 : 表示b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
特殊命令if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:1、if [not] "参数" == "字符串" 待执行的命令参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。
例:if "%1"=="a" format a:2、if [not] exist [路径\]文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如: if exist c:\config.sys type c:\config.sys表示如果存在c:\config.sys文件,则显示它的内容。
3、if errorlevel <数字> 待执行的命令很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。
如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。
如:goto end:endecho this is the end标号用":字符串"来定义,标号所在行不被执行。
三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。
choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
参数列表:/C choices 指定要创建的选项列表。
默认列表是"YN"。
/N在提示符中隐藏选项列表。
提示前面的消息得到显示,选项依旧处于启用状态。
/CS 允许选择分大小写的选项。
在默认情况下,这个工具是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。
可接受的值是从0 到9999。
如果指定了0,就不会有暂停,默认选项会得到选择。
/D choice在nnnn 秒之后指定默认选项。
字符必须在用/C 选项指定的一组选择中; 同时,必须用/T 指定nnnn。
/M text指定提示之前要显示的消息。
如果没有指定,工具只显示提示。
/?显示帮助消息。
注意:ERRORLEVEL 环境变量被设置为从选择集选择的键索引。
列出的第一个选择返回1,第二个选择返回2,等等。
如果用户按的键不是有效的选择,该工具会发出警告响声。
如果该工具检测到错误状态,它会返回255 的ERRORLEVEL 值。
如果用户按Ctrl+Break 或Ctrl+C 键,该工具会返回0 的ERRORLEVEL 值。
在一个批程序中使用ERRORLEVEL 参数时,将参数降序排列。
示例:CHOICE /?CHOICE /C YNC /M "确认请按Y,否请按N,或者取消请按C。
"CHOICE /T 10 /C ync /CS /D yCHOICE /C ab /M "选项1 请选择a,选项2 请选择b。
"CHOICE /C ab /N /M "选项1 请选择a,选项2 请选择b。
"如果我运行命令:CHOICE /C YNC /M "确认请按Y,否请按N,或者取消请按C。
"屏幕上会显示:确认请按Y,否请按N,或者取消请按C。
[Y,N,C]?例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):@echo offchoice /C dme /M "defrag,mem,end"if errorlevel 3 goto endif errorlevel 2 goto memif errotlevel 1 goto defrag:defragc:\dos\defraggoto end:memmemgoto end:endecho good bye此批处理运行后,将显示"defrag,mem,end[D,M,E]?" ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。