bat命令注释
bat编程语法
bat编程语法摘要:一、BAT编程简介1.BAT文件的概念2.BAT文件的作用3.BAT文件的编写环境二、BAT编程语法1.基本语法结构2.命令行的书写规则3.注释与换行三、BAT编程常用命令1.文件操作命令2.目录操作命令3.系统管理命令四、BAT编程实例1.文件操作实例2.目录操作实例3.系统管理实例正文:一、BAT编程简介BAT文件,即批处理文件,是一种文本文件,它包含了一系列的DOS命令和操作。
BAT文件的主要作用是自动化执行一些常用的操作,例如文件管理、系统设置等。
在Windows操作系统中,BAT文件可以在命令提示符中运行,也可以通过其他程序调用。
编写BAT文件需要了解一些基本的DOS命令和语法规则,可以在任何文本编辑器中进行编写。
二、BAT编程语法BAT文件的语法相对简单,主要由三部分组成:基本语法结构、命令行的书写规则和注释与换行。
1.基本语法结构:BAT文件中的每一条命令都以分号“;”结尾,多个命令之间用分号分隔。
在BAT文件的最后,需要加上“END”标签,表示文件的结束。
2.命令行的书写规则:在BAT文件中,每条命令必须单独成行。
如果命令较长,可以进行换行,但需要使用“_”符号作为换行符。
3.注释与换行:注释以“REM”开头,可以出现在任意位置,但不能嵌套。
换行使用“_”符号,每行只能使用一次。
三、BAT编程常用命令BAT编程中,常用的命令主要包括文件操作命令、目录操作命令和系统管理命令。
1.文件操作命令:例如建立文件、删除文件、复制文件、重命名文件等。
2.目录操作命令:例如建立目录、删除目录、复制目录、重命名目录等。
3.系统管理命令:例如查看系统信息、设置系统环境变量、控制光驱等。
四、BAT编程实例以下是一些BAT编程的实例:1.文件操作实例:创建一个名为“example.txt”的文件,并在其中写入“Hello, BAT!”。
```@echo offecho Hello, BAT! > example.txt```2.目录操作实例:创建一个名为“folder”的目录,并在其中创建一个名为“subfolder”的子目录。
bat 语法点滴 批处理 Set 命令详解 让你理解set命令
bat 语法点滴批处理 Set 命令详解让你理解set命令2011年05月06日星期五 15:301.转义符 ^^" = "2.另外,FOR 中的变量已被增强,我们可以使用下列句法来引用变量:%~I - 扩充 %I 为删除外围 " 引号(有就删)%~fI - 扩充 %I 为一个完整的路径%~dI - 仅扩充 %I 为一个驱动器号%~pI - 仅扩充 %I 为一个路径%~nI - 仅扩充 %I 为一个文件名%~xI - 仅扩充 %I 为一个文件扩展名%~sI - 扩充 %I 为完整的短名路径%~aI - 扩充 %I 为文件的属性(ARSH)%~tI - 扩充 %I 为文件的日期时间(修改时间)%~zI - 扩充 %I 为文件的大小(字节计)%~$PATH:I - ◎变量可以是其他的,如:WinDIR、ProgramFiles 等在环境变量 PATH 指定的路径中搜索文件,扩充 %I 为找到的第一个文件的完整路径;若未找到文件,则扩充 %I 为空。
组合扩展参数效果:%~dpI - 仅扩充 %I 为驱动器号和路径%~nxI - 仅扩充 %I 为文件名加扩展名%~fsI - 扩充 %I 为完整的短名路径(同 %~sI)%~dp$PATH:I - 搜索变量 PATH 中的路径,仅扩充 %I 为找到的第一个文件驱动器号和路径。
%~ftzaI - 扩充 %I 为类似 DIR 命令的输出格式以上例子中,%I 和 PATH 可用其他有效的变量替代。
%~ 百分号加波浪线用法是后面必须跟有效的 FOR 变量名。
推荐使用诸如 %I 的大写变量名,这样不仅易读且可避免混淆。
◎当然这是因人而异的。
如果是for中的变量例如%%i 可以写成%%~ni网上看了很多的set命令,但对于 set /a这类参数不是很详细,脚本之家编辑特从网上收集一些实际的例子等,结合在一起,让大家能快速的理解。
set,E文翻译过来就是“设置”的意思,相当于数学里的“令”。
BAT命令全解
BAT命令全解批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、 REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM 你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM 会放在REM后面。
请大家注意。
2、 ECHOECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息。
例:Echo offRem 以上代表关闭回显即不显示所执行的命令Echo 这个就是消息。
Rem 以上代表显示“这就是消息”这列字符执行结果:C:\>ECHO.BAT这个就是消息。
3、 GOTOGOTO 即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。
例:LABELREM 上面就是名为LABEL的标号。
DIR C:\DIR D:\GOTO LABELREM 以上程序跳转标号LABEL处继续执行。
4、CALLCALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
例:批处理2.BAT内容如下:ECHO 这就是2的内容批处理1.BAT内容如下:ECHO 这是1的内容CALL 2.BATECHO 1和2的内容全部显示完成执行结果如下:C:\>1.BAT这是1的内容这就是2的内容1和2的内容全部显示完成5、PAUSEPAUSE 停止系统命令的执行并显示下面的内容。
例:C:\> PAUSE请按任意键继续 . . .6、 IFIF 条件判断语句,语法格式如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command说明:[NOT] 将返回的结果取反值即“如果没有”的意思。
BAT命令大全
BAT命令⼤全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.txt call c:\ucdos\ucdos.bat 调⽤ucdos echo 你好 显⽰"你好" pause 暂停,等待按键继续 rem 准备运⾏wps 注释:准备运⾏wps cd 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⽂件的内容。
bat编程语法
bat编程语法(原创版)目录1.Bat 编程简介2.Bat 编程语法基础3.Bat 编程进阶语法4.Bat 编程实例5.Bat 编程的未来发展正文1.Bat 编程简介Bat(Batch)是一种批处理编程语言,它是基于 DOS 操作系统的。
Bat 文件是由一系列命令和指令组成的文本文件,可以实现对计算机的批量操作。
Bat 编程具有简洁、易学的特点,因此在计算机爱好者和程序员中广受欢迎。
2.Bat 编程语法基础Bat 编程的基本语法包括以下几部分:(1)@echo off:用于关闭命令行窗口中的回显,使输出结果仅在文件中显示。
(2)echo:用于在命令行窗口中显示消息。
(3)pause:用于暂停程序执行,等待用户按键继续。
(4)rem:用于注释,与 C 语言中的“//”类似。
(5)call:用于调用其他批处理文件。
(6)if:用于条件判断,支持 if-else 结构。
(7)for:用于循环操作,支持 for-each 和 for-in 两种循环方式。
3.Bat 编程进阶语法除了基础语法外,Bat 编程还支持一些高级语法,如:(1)goto:用于实现标签跳转,提高代码的可读性。
(2)set:用于设置变量,支持变量的赋值、显示和删除。
(3)assoc:用于关联文件扩展名和程序。
(4)reg:用于操作注册表。
4.Bat 编程实例以下是一个简单的 Bat 编程实例,用于批量修改文件扩展名:```@echo offsetlocal enabledelayedexpansionfor /f "delims=" %%a in ("dir /b /a-d") do (set "filename=%%a"set "ext=!filename:~-4!"ren "!filename!" "!ext!%%a")```5.Bat 编程的未来发展随着操作系统的发展,DOS 已经逐渐被 Windows 等图形化界面的操作系统所取代。
bat指令使用方法
bat指令使用方法如何使用bat指令进行批量文件重命名在日常工作中,我们经常会遇到需要批量重命名文件的情况,手动一个个修改文件名十分繁琐且耗费时间。
而使用bat指令可以帮助我们快速、方便地完成这一任务。
本文将介绍如何使用bat指令进行批量文件重命名。
一、创建bat文件我们需要创建一个bat文件,在任意文本编辑器中新建一个文本文件,将其保存为以.bat为后缀的文件,例如rename.bat。
二、编写bat指令在创建的bat文件中,我们可以使用以下指令来完成批量文件重命名的任务:1. 使用rename指令rename指令可以用于重命名文件,其基本语法如下:rename 旧文件名新文件名例如,我们要将文件夹中所有的txt文件重命名为doc文件,可以使用以下指令:rename *.txt *.doc2. 使用for指令for指令可以进行循环操作,我们可以利用它来遍历文件夹中的所有文件,并进行批量重命名。
其基本语法如下:for /r 文件夹路径 %%a in (文件名通配符) do rename "%%a" 新文件名例如,我们要将文件夹D:\test中所有以old开头的文件重命名为new开头的文件,可以使用以下指令:for /r D:\test %%a in (old*.*) do rename "%%a" new%%~xa三、保存并运行bat文件在编写完bat指令后,我们需要保存并运行这个bat文件。
将其保存后,双击运行即可完成文件重命名的任务。
在运行过程中,我们可以在命令提示符窗口中看到重命名的过程和结果。
需要注意的是,运行bat文件时要确保当前所在的路径与bat文件所在的路径一致,否则可能会出现文件路径错误的情况。
四、实例演示下面我们通过一个实例来演示如何使用bat指令进行批量文件重命名。
假设我们有一个文件夹D:\test,其中包含了多个以old开头的txt 文件,我们要将这些文件重命名为new开头的txt文件。
bat语法学习手册 Bat命令学习
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)分隔的字符串。
BAT脚本编写教程(比较易懂和全面)
BAT脚本编写教程(比较易懂和全面)BAT(批处理)脚本是一种在Windows操作系统中运行的脚本文件,它可以自动化执行一系列的命令和任务。
本教程将简单介绍BAT脚本的基本语法和常用命令,帮助你快速上手BAT脚本的编写。
1.BAT脚本的基本语法-明确命令的执行顺序:每个命令都应位于新的一行,命令之间按照顺序逐行执行。
-语法结构:BAT脚本通常由一系列命令和参数组成。
2.常用的BAT命令- ECHO:用于在屏幕上输出一行文本。
例如:ECHO Hello World。
- SET:用于设置环境变量的值。
例如:SET NAME="John"。
- IF:用于执行条件判断。
例如:IF %NUM% EQU 1 ECHO "Number is 1"。
-FOR:用于执行循环操作。
例如:FOR/L%%GIN(1,1,10)DOECHO%%G。
- CALL:用于调用其他的BAT脚本。
例如:CALL another.bat。
-PAUSE:用于暂停BAT脚本的执行,等待用户按下任意键继续。
3.BAT脚本的示例下面是一个简单的BAT脚本示例,用于统计指定目录下文件的个数:```batSET count=0FOR/R%%GIN(*)DOSET /A count+=1ECHO Total files: %count%PAUSE```在这个示例中,脚本首先设置了一个初始值count为0,然后使用FOR命令遍历指定目录及其子目录下的所有文件,并通过SET命令将count加1、最后,脚本使用ECHO命令输出文件的总数,然后通过PAUSE 命令等待用户按下任意键继续。
4.BAT脚本的注意事项在编写BAT脚本时,还需要注意以下几点:-使用注释:在脚本中使用“::”或“REM”来添加注释,有助于提高代码的可读性。
-处理特殊字符:如果要在文本中使用特殊字符,比如“%”、“&”等,使用“^”进行转义。
bat脚本指令讲解
1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on|off}] [message]Sample:echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。
最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
批处理文件BAT、CMD命令大全
批处理文件BAT命令大全之樊仲川亿创作1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on│off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令暗示不显示@ 后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不克不及让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite... @format X: /q/u/autoset (format 这个命令是不成以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2就是暗示变量。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来暗示这个字母是标签, : 开头的字符行 , 在批处理中都被视作标号 , 而直接忽略其后的所有内容 , 只是为了与正常的标号相区别 , 建议使用 goto 所无法识此外标号 , 即在 : 后紧跟一个非字母数字的一个特殊符号 . goto 命令就是根据这个:来寻找下一步跳到到那里。
bat语法
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系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。
下面是一个运行于Windows 98下的autoexec.bat的示例:@ECHO OFFPATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYST OOLS;C:\WINTOOLS;C:\BATCHLH SMARTDRV.EXE /XLH /INSERTLH CTMOUSE.EXESET TEMP=D:\TEMPSET TMP=D:\TEMP批处理的作用简单的说,批处理的作用就是自动的连续执行多条命令。
BAT批处理命令使用实用教程
BAT批处理命令使用实用教程BAT批处理命令是Windows操作系统自带的一种脚本语言,通过编写批处理脚本可以实现一系列自动化的操作,提高工作效率。
本教程将介绍BAT批处理命令的常用语法和实用技巧,帮助读者快速掌握BAT批处理命令的应用。
一、基本语法1.注释:在批处理脚本中,可以使用REM关键字添加注释,注释内容将被忽略。
示例:REM这是一个注释2.变量:在批处理脚本中,可以使用变量来保存值。
变量名以一个英文字母开头,后续可以有字母、数字和下划线。
示例:SET name=JohnECHO %name%3.输入输出:使用ECHO命令可以在屏幕上输出文本,使用SET/P命令可以从用户处输入值。
示例:ECHO HelloSET /P name=Please enter your name:4.条件判断:使用IF命令可以根据条件执行不同的操作。
示例:IF %num% EQU 1ECHO The number is 1ELSEECHO The number is not 15.循环:使用FOR命令可以实现循环操作,常用的有FOR/F和FOR/R。
示例:FOR /F %%G IN (file.txt) DOECHO%%G二、实用技巧1.执行命令:使用CALL命令可以执行其他批处理脚本或外部命令。
示例:CALL script.batCALL dir2.文件操作:使用COPY命令可以复制文件,使用DEL命令可以删除文件。
示例:COPY file1.txt file2.txt3.目录操作:使用CD命令可以切换目录,使用MKDIR命令可以创建目录。
示例:CD C:\pathMKDIR new_dir4.网络操作:使用PING命令可以测试网络连接,使用NET命令可以管理网络。
示例:NET USE \\server\share5. 系统信息:使用VER命令可以查看Windows版本,使用TIME和DATE命令可以查看当前时间和日期。
bat命令中文说明
1 echo 和@回显控制命令@ #关闭单行回显echo off #从下一行开始关闭回显@echo off #从本行开始关闭回显。
一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是echo off 状态还是echo on 状态echo. #输出一个"回车换行",一般就是指空白行echo helloworld #输出hell o world"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时,系统都会自动打开回显2 errorl evel程序返回码echo %errorl evel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设errorl evel为13 dir显示目录中的文件和子目录列表dir #显示当前目录中的文件和子目录dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d #显示C盘当前目录中的目录dir c:\ /a:-d #显示C 盘根目录中的文件dir d:\mp3 /b/p #逐屏显示d:\mp3 目录里的文件,只显示文件名,不显示时间和大小dir *.exe /s显示当前目录和子目录里所有的.exe文件其中* 是通配符,代表所有的文件名,还一个通配符? 代表一个任意字母或汉字如c*.* 代表以c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件如果指定的目录或文件不存在,将返回 errorl evel为1;每个文件夹的dir 输出都会有2个子目录. 和... 代表当前目录.. 代表当前目录的上级目录dir . #显示当前目录中的文件和子目录dir .. #显示当前目录的上级目录中的文件和子目录其它参数可参考dir /?4 cd更改当前目录cd mp3 #进入当前目录中的mp3目录cd .. #进入当前目录中的上级目录cd\ #进入根目录cd #显示当前目录cd /d d:\mp3 #可以同时更改盘符和目录cd "Docume nts and Settin gs"\All users文件名带空格,路径前需要加上引号!!如果更改到的目录不存在,则出错返回 errorl evel=15 md创建目录md abc #在当前目录里建立子目录abcmd d:\a\b\c #如果d:\a 不存在,将会自动创建6 rd删除目录rd abc #删除当前目录里的abc 子目录,要求为空目录rd /s/q d:\temp #删除d:\temp 文件夹及其子文件夹和文件,不需要按Y 确认7 del删除文件del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件del *.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按Y 确认del /q/a/f d:\temp\*.*删除d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:\temp\*.*删除d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录8 ren文件重命名ren 1.txt 2.bak #把1.txt 更名为2.bakren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件ren d:\temp tmp #支持对文件夹的重命名9 cls清屏10 type显示文件内容type c:\b oot.ini #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容11 copy拷贝文件copy c:\test.txt d:\复制c:\test.txt 文件到d:\copy c:\test.txt d:\test.bak复制c:\test.txt 文件到d:\ ,并重命名为test.bakcopy c:\*.*复制c:\ 所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,则默认目标路径为当前目录copy con test.txt从屏幕上等待输入,按C trl+Z 结束输入,输入内容存为test.txt文件c on代表屏幕,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新标题 #可以看到cm d窗口的标题栏变了13 ver显示系统版本14 label和vol设置卷标vol #显示卷标label #显示卷标,同时提示输入新卷标labelc:system #设置C盘的卷标为 system15 pause暂停命令运行该命令时,将显示下面的消息:请按任意键继续 . . .一般用于看清楚屏幕上显示的内容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 字符串的行如果找不到,将设 errorl evel返回码为1find /i "abc" c:\test.txt查找含abc 的行,忽略大小写find /c "abc" c:\test.txt显示含abc 的行的行数20 more (外部命令)逐屏显示more c:\test.txt #逐屏显示c:\test.txt 的文件内容21 tree显示目录结构tree d:\ #显示D盘的文件目录结构22 &顺序执行多条命令,而不管命令是否执行成功c: & cd\ & dir /w相当于把下面3行命令写到1行去了c:cd\dir /w23 &&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令f: && cd\ && dir >c:\test.txt注意如果f盘不存在,那么后面2条命令将不会执行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 > 和>>输出重定向命令> 清除文件中原有的内容后再写入>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件echo helloworld>c:\test.txt生成c:\test.txt文件,内容为hel lo world这个格式在批处理文件里用得很多,可以生成.reg .bat .vbs 等临时文件type c:\test.txt >prn屏幕上不显示文件内容,转向输出到打印机echo helloworld>con在屏幕上显示he llo 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 offech o 2005-05-01>temp.txtdat e <temp.txtdel temp.txt这样就可以不等待输入直接修改当前日期28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行传递给批处理的参数%0 批处理文件本身%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数在C盘根目录新建tes t.bat,内容如下:@echo offech o cho cho .cho %*运行cmd,输入c:\test.bat "/a" /b /c /d可以看出每个参数的含意修改test.bat内容如下@echo offech o cho %~1echocho %~f0echo %~d0echo %~p0echo %~n0echo %~x0echo %~s0echo %~a0echo %~t0echo %~z0再运行cmd,输入c:\test.bat "/a" /b /c /d可以参照call/? 或for/? 看出每个参数的含意注意这里可以对文件进行日期比较和大小比较echo load "%%1" "%%2">c:\test.txt生成的文件内容为load "%1" "%2"批处理文件里,用这个格式把命令行参数输出到文件31 set设置变量引用变量可在变量名前后加% ,即%变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %System Drive% #显示系统盘盘符。
BAT文件命令详解
BAT⽂件命令详解⼀.简单批处理内部命令简介1.Echo 命令打开回显或关闭请求回显功能,或显⽰消息。
如果没有任何参数,echo 命令将显⽰当前回显设置。
语法:echo [{on│off}] [message]Sample:@echo off / echo hello world在实际应⽤中我们会把这条命令和重定向符号(也称为管道符号,⼀般⽤> >> ^)结合来实现输⼊⼀些命令到特定格式的⽂件中.这将在以后的例⼦中体现出来。
2.@ 命令表⽰不显⽰@后⾯的命令,在⼊侵过程中(例如使⽤批处理来格式化敌⼈的硬盘)⾃然不能让对⽅看到你使⽤的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使⽤/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是⼀样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下⼀⾏开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的⾏。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这⾥的if、%1、%2你不明⽩的话,先跳过去,后⾯会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:⽤来表⽰这个字母是标签,goto命令就是根据这个:来寻找下⼀步跳到到那⾥。
最好有⼀些说明这样你别⼈看起来才会理解你的意图啊。
4.Rem 命令注释命令,在C语⾔中相当与/*--------*/,它并不会被执⾏,只是起⼀个注释的作⽤,便于别⼈阅读和你⾃⼰⽇后修改。
bat批处理的注释语句
bat批处理的注释语句写bat批处理也⼀样,都要⽤到注释的功能,这是为了程式的可读性
在批处理中,段注释有⼀种⽐较常⽤的⽅法:
goto start
= 可以是多⾏⽂本,可以是命令
= 可以包含重定向符号和其他特殊字符
= 只要不包含 :start 这⼀⾏,就都是注释
:start
另外,还有其他各种注释形式,⽐如:
1、:: 注释内容(第⼀个冒号后也可以跟任何⼀个⾮字母数字的字符)
2、rem 注释内容(不能出现重定向符号和管道符号)
3、echo 注释内容(不能出现重定向符号和管道符号)〉nul
4、if not exist nul 注释内容(不能出现重定向符号和管道符号)
5、:注释内容(注释⽂本不能与已有标签重名)
6、%注释内容%(可以⽤作⾏间注释,不能出现重定向符号和管道符号)
7、goto 标签注释内容(可以⽤作说明goto的条件和执⾏内容)
8、:标签注释内容(可以⽤作标签下⽅段的执⾏内容)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章批处理基础第一节常用批处理内部命令简介1、REM 和::2、ECHO 和@3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和:9、FIND10、START11、assoc 和ftype12、pushd 和popd13、CALL14、shift15、IF16、setlocal 与变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION启动或停用延缓环境变量扩展名。
)17、A TTRIB显示或更改文件属性第二节常用特殊符号1、@命令行回显屏蔽符2、%批处理变量引导符3、> 重定向符4、>>重定向符5、<、>、<& 重定向符6、|命令管道符7、^转义字符8、组合命令9、& 组合命令10、||组合命令11、\"\"字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号第二章FOR命令详解一、基本格式二、参数/d仅为目录三、参数/R递归(文件名)四、参数/L迭代数值范围五、参数/F迭代及文件解析第三章FOR命令中的变量一、~I- 删除任何引号(\"),扩展%I二、%~fI- 将%I 扩展到一个完全合格的路径名三、%~dI- 仅将%I 扩展到一个驱动器号四、%~pI- 仅将%I 扩展到一个路径五、%~nI- 仅将%I 扩展到一个文件名六、%~xI- 仅将%I 扩展到一个文件扩展名七、%~sI- 扩展的路径只含有短名八、%~aI- 将%I 扩展到文件的文件属性九、%~tI- 将%I 扩展到文件的日期/时间十、%~zI- 将%I 扩展到文件的大小十一、%~$PATH:I第四章批处理中的变量一、系统变量二、自定义变量第五章set命令详解一、用set命令设置自定义变量二、用set命令进行简单计算三、用set命令进行字符串处理1、字符串替换2、字符串截取第六章if命令讲解第一种用法:IF [NOT] ERRORLEVEL number command第二种用法:IF [NOT] string1==string2 command第三种用法:IF [NOT] EXIST filename command第四种用法:IF增强的用法第七章DOS编程高级技巧一、界面设计二、if…else…条件语句三、循环语句四、子程序五、用ftp命令实现自动下载六、用7-ZIP实现命令行压缩和解压功能七、调用VBScript程序八、将批处理转化为可执行文件九、时间延迟1、利用ping命令延时2、利用for命令延时3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内十、模拟进度条十一、特殊字符的输入及应用十二、随机数(%random%)的应用技巧十三、变量嵌套与命令嵌套1、更正了所有的错别字,适当排版,增加条理性。
2、运行改善所有例子,并纠正了一些语法错误。
3、补充了一些不完全的地方。
4、第一章参考了网上许多教程汇编而成。
5、20080229补充了变量延迟的问题。
6、20080305修改了参数usebackq的说明7、20080310增加了特殊字符的输入及应用8、20080311修改了子程序部分9、20080313修改了echo说明,归纳了9个应用方法10、20080320增加任意时间延迟方法11、20080321增加了set计算中十进制与八进制混淆问题的说明12、20080325修正dos数值计算范围:-2147483648至2147483647,即-2^31~2^31-113、20080326增加随机数的应用14、20080327修改了“if增强用法”中的defined语句说明15、20080402增加变量嵌套与命令嵌套,重要技巧之一。
====================================================================== 第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为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、A TTRIB显示或更改文件属性介绍命令1、REM 和::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
其次, :: 也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以:: 常被用作注释符号,其实:+ 也可起注释作用。
第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比:: 更为适用; 另外, rem 可以用于config.sys 文件中。
行内注释格式:%注释内容%(不常用,慎用)2、ECHO 和@@字符放在命令前将关闭该命令回显,无论此时echo是否为打开状态。
echo命令的作用列举如下:(1)打开回显或关闭回显功能格式:echo [{ on|off }]如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
(2)显示当前ECHO设置状态格式:echo(3)输出提示信息格式:ECHO 信息内容上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:(4)关闭DOS命令提示符在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。
(5)输出空行,即相当于输入一个回车格式:ECHO.值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。
另外“.”可以用,:;”/[\\]+等任一符号替代。
命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如echo.|time即相当于在TIME命令执行后给出一个回车。
所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态(6)答复命令中的提问格式:ECHO 答复语|命令文件名上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。
下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车:C:>ECHO Y|CHKDSK/FC:>ECHO Y|DEL A :*.*(7)建立新文件或增加文件内容格式:ECHO 文件内容>文件名ECHO 文件内容>>文件名例如:C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件C:>ECHO C:\\CPA V\\BOOTSAFE>>AUTOEXEC.BA T向自动批处理文件中追加内容C:>TYPE AUTOEXEC.BA T显示该自动批处理文件@ECHO OFFC:\\CPA V\\BOOTSAFE(8)向打印机输出打印内容或打印控制码格式:ECHO 打印机控制码>RNECHO 打印内容>RN下面的例子是向M-1724打印机输入打印控制码。
<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推:C:>ECHO +156+42+116>RN(输入下划线命令FS*t)C:>ECHO [email=+155@]+155@>RN[/email](输入初始化命令ESC@)C:>ECHO.>RN(换行)(9)使喇叭鸣响C:>ECHO ^G“^G”是在dos窗口中用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。
使用方法是直接将其加入批处理文件中或做成批处理文件调用。
这里的“^G”属于特殊符号的使用,请看本文后面的章节3、PAUSEPAUSE,玩游戏的人都知道,暂停的意思在这里就是停止系统命令的执行并显示下面的内容。
例:PAUSE运行显示:请按任意键继续. . .要显示其他提示语,可以这样用:Echo 其他提示语pause > nul4、errorlevel程序返回码echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设errorlevel 为15、title设置cmd窗口的标题title 新标题#可以看到cmd窗口的标题栏变了6、COLOR设置默认的控制台前景和背景颜色。
COLOR [attr]attr指定控制台输出的颜色属性颜色属性由两个十六进制数字指定-- 第一个为背景,第二个则为前景。