批处理命令注释方法
D0S批处理命令详解(一)

4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你
自己日后修改。
Rem Message
Sample:@Rem Here is the description.
检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则使用
当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持:
: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,文件结束。
个符号解析之分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
bat批处理命令及解释

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)的替代已被增强。
批处理for命令详解!

批处理for命令详解!⼤纲⼀前⾔⼆ for语句的基本⽤法三 for /f (delims、tokens、skip、eol、userbackq、变量延迟)四 for /r (递归遍历)五 for /d (遍历⽬录)六 for /l (计数循环)⼀、前⾔在批处理中,for是最为强⼤的命令语句,它的出现,使得解析⽂本内容、遍历⽂件路径、数值递增/递减等操作成为可能;配合if、call、 goto等流程控制语句,更是可以实现脚本复杂的⾃动化、智能化操作;合理使⽤for语句,还能使代码⼤为简化,免除各位编写⼤量重复语句之苦。
⽽能否熟练使⽤for语句,已经成为衡量⼀个⼈批处理⽔平⾼低最主要的标准。
在这个系列教程中,我将通过实际应⽤中频繁出现的例⼦,带领⼤家步⼊for语句的神奇之门,⼀步步迈向for语句的魔幻殿堂,使得⼤家在实际的应⽤中,能独⽴写出简洁⾼效的代码,在批处理的世界⾥⾃由驰骋。
注意:以下的讲解,都是基于简体中⽂版Windows XP Pro SP3的操作系统环境。
⼆、for语句的基本⽤法正如⾊彩缤纷的七彩光芒是由红绿蓝三原⾊构成的⼀样,最复杂的for语句,也有其基本形态,它的模样是这样的:在cmd窗⼝中:FOR %variable IN (set) DO command [command-parameters]在批处理⽂件中:FOR %%variable IN (set) DO command [command-parameters]具体例⼦:For %i in (1 2 3) do @echo %i之所以要区分cmd窗⼝和批处理⽂件两种环境,是因为在这两种环境下,命令语句表现出来的⾏为虽然基本⼀样,但是在细节上还是稍有不同。
最明显的⼀个差异就是:在cmd窗⼝中,for之后的形式变量I必须使⽤单百分号引⽤,即%i;⽽在批处理⽂件中,引⽤形式变量i必须使⽤双百分号,即%%i。
我们先来看⼀下for语句的基本要素都有些什么:1、for、in和do是for语句的关键字,它们三个缺⼀不可;2、%%I是for语句中对形式变量的引⽤,就算它在do后的语句中没有参与语句的执⾏,也是必须出现的;3、in之后,do之前的括号不能省略;4、command1表⽰字符串或变量,command2表⽰字符串、变量或命令语句;现在,你可能已经会写⼀个简单的for语句了,⽐如:[code1]@echo offfor %%I in () do echo %%Ipause保存为批处理⽂件并执⾏,将会在弹出的批处理窗⼝中看到这样的信息:请按任意键继续...很快地,你会觉得这个for语句是如此的简单,简单到你丝毫感受不出它的强⼤:这个for语句,和我直接⽤echo语句没什么两样啊!是的,演⽰代码永远都只是演⽰⽽已,就像⼤多数⾼级语⾔的教科书⼀样,在引导新⼿学习的时候,基本上都是千篇⼀律地告诉⼤家如何编写⼀个能显⽰ hello world! 的窗⼝,从这些演⽰代码中,你看不到它们具有多少实⽤性,你只是感到有点好奇:咦,居然弹出了⼀个窗⼝?⽚刻之后,你就会觉得索然⽆味。
批处理命令大全及使用方法

批处理命令大全及使用方法批处理命令大全.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是dos下的批处理文件。
.cmd是nt内核命令行环境的另一种批处理文件从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。
所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。
甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows 的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。
所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。
其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。
当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。
批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。
批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe文件才可以称之为c语言程序。
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脚本中for命令的使用方法

@echo off for /r "C:\Test\" %%i in (*.txt) do ( echo %%i ) pause C:\Test>test.bat C:\Test\0.txt C:\Test\Folder1\1_1.txt C:\Test\Folder1\Sub1_1\1_1_1.txt C:\Test\Folder2\2_1.txt 请按任意键继续. . .
6/25
内容概要
• • • • • for for /d for /r for /l for /f 处理文件 处理文件夹 枚举目录树处理文件 处理数字序列 处理字符串、命令输出和文本内容
7/25
for /d 命令的基本语法
for /d %%variable in (set) do command
for %%variable in (set) do command
控制变量: • 区分大小写 • 推荐使用单个英文字母 • 不建议使用数字 • BAT脚本里面使用%%i • CMD窗口里面使用%i 文件集合: • 一个或多个文件 • 可以使用通配符 • 需要放在圆括号里面 • 不判断文件是否真实存 在 需要执行的命令: • 多行命令需要放在圆括 号里面 • BAT脚本里面使用 @echo off 之后不需要使 用多余的@来关闭回显
8/25
添加 /r 可以枚举子文件夹
@echo off for /r "C:\Test\" /d %%i in (*) do ( echo %%i ) pause
C:\Test>test.bat C:\Test\Folder1 C:\Test\Folder2 C:\Test\Folder1\Sub1_1 请按任意键继续. . .
bat命令注释

目录第一章批处理基础第一节常用批处理内部命令简介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、更正了所有的错别字,适当排版,增加条理性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
批处理命令注释方法
批处理命令是一种在Windows操作系统下批量执行一系列命令的方法,它可以帮助我们自动化一些重复性的操作。
在编写批处理命令时,为了方便自己和他人阅读和理解代码,我们经常需要添加注释。
本文将介绍一些常用的批处理命令注释方法。
一、REM命令注释
REM是批处理命令中的注释命令,它可以在批处理脚本中添加注释,不会被执行。
REM后面的文本将被视为注释内容。
例如,我们可以使用REM命令注释说明某一行代码的作用:
```
REM 这是一个注释示例
```
二、::命令注释
::是另一种常用的注释方法,它与REM命令一样,可以在批处理脚本中添加注释,不会被执行。
::后面的文本将被视为注释内容。
例如,我们可以使用::命令注释说明某一行代码的作用:
```
:: 这是一个注释示例
```
三、@echo off命令注释
@echo off命令用于关闭批处理命令的命令回显功能,即在执行批处理脚本时不显示命令本身。
我们可以在@echo off命令后面添加注释,以解释脚本的功能和用途。
例如,我们可以使用@echo off命令注释说明整个批处理脚本的作用:
```
@echo off
REM 这是一个批处理脚本示例,用于批量处理文件
```
四、标题注释
在批处理脚本中,我们可以使用标题注释来标识和说明脚本的功能和用途。
标题注释通常位于脚本的开头,并使用一行或多行注释来进行说明。
例如,我们可以使用标题注释来说明脚本的功能和用途,并添加作者和日期信息:
:: 批处理脚本示例
:: 作者:XXX
:: 日期:YYYY-MM-DD
@echo off
REM 以下是脚本的具体执行逻辑
```
五、函数注释
在批处理脚本中,我们可以定义自己的函数来实现一些特定的功能。
为了方便理解函数的作用和用法,我们可以使用函数注释来进行说明。
例如,我们可以使用函数注释来说明函数的功能、输入参数和返回值:
```
:: 函数名称:add
:: 功能:实现两个数相加的功能
:: 输入参数:num1 - 第一个操作数
:: num2 - 第二个操作数
:: 返回值:相加的结果
六、代码行注释
除了在整个脚本或函数级别上进行注释,我们还可以在代码行级别上添加注释,以解释某一行代码的作用和用途。
例如,我们可以使用代码行注释来说明某一行代码的作用:
```
set /a result=%num1%+%num2% REM 将num1和num2相加的结果赋值给result变量
```
总结
批处理命令注释是编写和维护批处理脚本的重要手段,它可以帮助我们理解和调试代码,提高代码的可读性和可维护性。
本文介绍了一些常用的批处理命令注释方法,包括REM命令注释、::命令注释、@echo off命令注释、标题注释、函数注释和代码行注释。
通过合理使用这些注释方法,我们可以更好地编写和管理批处理脚本,提高工作效率。