### 批处理学习(基础学习) #### 批处理的基本概念 批处理是一种计算机科学中的术语,主要用于描述将一系列指令组织成一个独立的脚本或程序的过程。这些指令可以在无需人工干预的情况下被执行,常用于自动化任务处理。批处理脚本通常以`.bat`或`.cmd`扩展名保存,在Windows操作系统中被广泛使用。 #### 标题与描述中的知识点详解 ##### 1. REM (注释) - **功能**:`REM`命令用于在批处理文件中添加注释。当批处理文件执行时,包含`REM`关键字的行将被视为注释而不被执行。 - **语法**:`REM 注释文本` - **示例**: ```batch REM 这是一个注释,当批处理执行时,这一行不会被处理。 ``` ##### 2. ECHO (显示消息) - **功能**:`ECHO`命令用于在命令行窗口中显示消息。 - **语法**:`ECHO [ON|OFF]` 或 `ECHO 消息` - **示例**: - 显示消息:`ECHO Hello, World!` - 开启/关闭命令回显:`ECHO ON` 或 `ECHO OFF` - **注意**:关闭命令回显后,后续命令将不会在屏幕上显示。 ##### 3. GOTO (跳转) - **功能**:`GOTO`命令用于实现条件跳转,将控制转移到批处理脚本中的指定标签。 - **语法**:`GOTO 标签` - **示例**: ```batch :Start ECHO 开始执行 GOTO End :Middle ECHO 中间部分 :End ECHO 结束执行 ``` ##### 4. CALL (调用) - **功能**:`CALL`命令用于调用另一个批处理文件或脚本内的过程,保持当前上下文并在调用结束后返回。 - **语法**:`CALL 脚本名` - **示例**: ```batch :: 1.bat ECHO 第一步 CALL 2.bat ECHO 第二步 :: 2.bat ECHO 第二个脚本被执行 ``` ##### 5. PAUSE (暂停) - **功能**:`PAUSE`命令用于暂停批处理的执行,并等待用户按键继续。 - **语法**:`PAUSE` - **示例**: ```batch ECHO 按任意键继续... PAUSE ECHO 继续执行 ``` ##### 6. IF (条件判断) - **功能**:`IF`命令用于根据特定条件执行不同的命令序列。 - **语法**:`IF [NOT] 条件 命令` - **常见条件**: - `IF [NOT] ERRORLEVEL 数字 命令`:检查上一个命令的错误级别。 - `IF [NOT] 字符串1 == 字符串2 命令`:比较两个字符串是否相等。 - `IF [NOT] EXIST 文件名 命令`:检查文件是否存在。 - **示例**: ```batch ECHO OFF IF ERRORLEVEL 1 ( ECHO 错误发生 ) ELSE ( ECHO 一切正常 ) ``` ##### 7. FOR (循环) - **功能**:`FOR`命令用于执行循环操作,可以遍历列表中的项目或文件。 - **语法**:`FOR [参数] IN (集合) DO 命令 [参数]` - **常见参数**: - `/L`:遍历数字范围。 - `/F`:遍历文件中的行。 - `/D`:遍历目录。 - **示例**: - 遍历数字范围: ```batch FOR /L %%i IN (1, 1, 5) DO ( ECHO %%i ) ``` - 遍历文件中的行: ```batch FOR /F "tokens=1,2 delims=," %%i IN (data.csv) DO ( ECHO %%i: %%j ) ``` - 删除多个文件: ```batch FOR %%i IN (1 2 3 4 5) DO ( DEL %%i.TXT ) ``` 通过以上对批处理基础知识的介绍,我们可以了解到批处理的强大之处在于能够通过简单的命令实现复杂的自动化任务。无论是简单的文件操作还是复杂的系统管理任务,批处理都能够提供有效的解决方案。希望本文能帮助读者理解并掌握批处理的基础知识,为进一步深入学习和实践打下坚实的基础。
最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的Worm.Dvldr蠕虫就是一个典型。这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的。病毒由几个文件和几个复杂的批处理组成。批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似。通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴趣,多多少少了解一些命令的用法,但缺乏比较系统的了解,所以特意写下这篇教程,好让感兴趣的朋友对批处理有个整体的认识,并能通过该教程举一反三,写出自己的批处理。
该教程一共分为4大部分,第一部分是批处理的专用命令,第二部分是特殊的符号与批处理,第三部分是批处理与变量,第四部分是完整案例。因为教程比较长,所有在杂志上我们将分为两次连载,本期首先刊登一、二两部分,敬请读者注意。
第一部分:批处理的专用命令
批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、 REM
REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例:
REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。
2、 ECHO
ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例:
Echo off
Rem 以上代表关闭回显即不显示所执行的命令
Echo 这个就是消息。
Rem 以上代表显示“这就是消息”这列字符
执行结果:
C:\>ECHO.BAT
这个就是消息。
3、 GOTO
GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例
:LABEL
REM 上面就是名为LABEL的标号。
DIR C:\
DIR D:\
GOTO LABEL
REM 以上程序跳转标号LABEL处继续执行。
CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例:
批处理2.BAT内容如下:
ECHO 这就是2的内容
批处理1.BAT内容如下:
ECHO 这是1的内容
CALL 2.BAT
ECHO 1和2的内容全部显示完成
执行结果如下:
C:\>1.BAT
这是1的内容
这就是2的内容
1和2的内容全部显示完成
5、PAUSE
PAUSE 停止系统命令的执行并显示下面的内容。例:
C:\> PAUSE
请按任意键继续 . . .
6、 IF
IF 条件判断语句,语法格式如下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
说明:
[NOT] 将返回的结果取反值即“如果没有”的意思。
ERRORLEVEL 是命令执行完成后返回的退出值
Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。
string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command
EXIST filename 为文件或目录存在的意思。
剩余14页未读,继续阅读
- 粉丝: 0
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助