DOS自带的批处理命令

文件名是由文件路径和文件名称合起来的,如C:\DOS\COMMAND.COM。

DIR 显示文件和文件夹(目录)。
用法:DIR [文件名] [选项]

它有很多选项,如/A表示显示所有文件(即包括带隐含和系统属性的文件),/S表示也显示子文件夹中的文件,/P表示分屏显示,/B表示只显示文件名,等等。 
如 DIR A*.EXE /A /P
此命令分屏显示当前文件夹下所有以A开头后缀为EXE的文件(夹)。

CD或CHDIR 改变当前文件夹。
用法:CD [文件夹名]
若无文件夹名则显示当前路径。

MD或MKDIR 建立文件夹。
用法:MD 文件夹名

RD或RMDIR 删除文件夹。
用法:RD 文件夹名
注意:此文件夹必须是空的。

DEL或ERASE 删除文件。
用法:DEL/ERASE 文件名

COPY 拷贝文件。
用法: COPY 文件名1 [文件名2] [选项]
如 COPY /B A+B C
此命令将两个二进制文件A和B合为一个文件C。

TYPE 显示文件内容。
用法:TYPE 文件名

REN或RENAME 改变文件名和文件夹(目录)名。
用法:REN 文件(夹)名1 文件(夹)名2

EDIT 编辑文件,在MS-DOS 7.x中还可以编辑二进制文件和多个文件。
用法:EDIT [文件名] [选项]
如 EDIT /70 C:\COMMAND.COM
此命令以二进制方式编辑C:\COMMAND.COM文件。

FORMAT 格式化磁盘。
用法:FORMAT 驱动器 [选项]

它的选项很多,如/Q是快速格式化,/U表示无条件格式化(即无法使用UNFORMAT等命令恢复),/V指定磁盘的卷标名,等等。它还有许多未公开参数。

MEM 显示内存状态。
用法:MEM [选项]

它的选项也有不少,如/C可列出所有程序的内存占用,/D是显示驻留内存的程序及设备驱动程序的状态等详细信息,/F显示空闲的内存总量,/M显示内存中的模块信息,/P则是分屏显示。还有隐藏的/A选项,可以显示HMA信息。

MOVE 移动文件或文件夹,还可以更改文件或文件夹的名称。 
用法:MOVE 文件[夹]1 文件[夹]2 
如 MOVE C:\*.EXE D: 
此命令可以将C盘根文件夹下所有扩展名为EXE的文件移到D盘上。

XCOPY 复制文件或文件夹。 
用法:XCOPY 文件[夹]名1 [文件[夹]名2] [选项]

它的选项非常多,如/S可拷贝整个文件夹(包括子文件夹)中的文件,/E指定包括空文件夹,/V表示复制完后检验复制出的文件的正确性,/Y表示确认,等等。

CLS 清除屏幕。
用法:CLS

SYS 传导系统,即将系统文件(如IO.SYS等)从一处传输到指定的驱动器中。
用法:SYS 文件夹名 [驱动器]
如 SYS C:\DOS A:
此命令即可将位于C:\DOS文件夹下的系统文件传输到A盘中。

DATE 显示或设置日期。
用法:DATE [日期]

TIME 显示或设置时间。
用法:TIME [时间]

DOS还自带一些其它的命令,如SORT(排序),FIND(寻找字符)等。

@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。

CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同样的操作。

CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

ECHO:显示指定的信息。通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。

FOR:对于指定的文件运行相应的命令。
大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。
用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]
注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。
如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。
注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。

GOTO:转到批文件内部的某个标号下执行。
大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。
用法:GOTO [标号名]
其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。

IF:条件判断命令。这是一项很有用的批处理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
意义:如果[不]存在某个文件将执行某个命令。
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数] 
意义:当字符串1和字符串2[不]相等的时候执行某个命令。

PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。

REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。

SHIFT:在批文件中改变可替换参数的位置。
可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。

以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。

(0)

相关推荐

  • DOS自带的批处理命令

    文件名是由文件路径和文件名称合起来的,如C:\DOS\COMMAND.COM. DIR 显示文件和文件夹(目录). 用法:DIR [文件名] [选项] 它有很多选项,如/A表示显示所有文件(即包括带隐含和系统属性的文件),/S表示也显示子文件夹中的文件,/P表示分屏显示,/B表示只显示文件名,等等.  如 DIR A*.EXE /A /P 此命令分屏显示当前文件夹下所有以A开头后缀为EXE的文件(夹). CD或CHDIR 改变当前文件夹. 用法:CD [文件夹名] 若无文件夹名则显示当前路径.

  • windows批处理命令教程

    批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们.使用批 处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务.当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到 的用批处理文件来给系统打补丁.批量植入后门程序等.下面就开始我们批处理学习之旅吧. 一.简单批处理内部命令简介 1.echo

  • 解析批处理命令call和start

    目录 start命令总结 start命令简介 start命令应用 start命令与call命令的区别 总结 一是调用范围不同: 二是调用方式不同: 三是调用结果不同: call命令总结 学过汇编或C的朋友,肯定都知道call指令表示什么意思.其实,在这里它的意思也是一样的.在批处理脚本中,call命令用来从一个批处理脚本中调用另一个批处理脚本. 语法:call[ [Drive:] [Path]FileName[BatchParameters]][:label[arguments]] 参数:[Dr

  • 批处理命令 BAT备份MySQL数据库

    工作环境 Windows Server 2003 ,MySQL安装目录 D:\MySQL , WinRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe 备份数据存储的路径为 E:\数据备份,好了下面开始写DOS批处理命令了. 复制代码 代码如下: set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" md "E:\数据备份\%ymd%" "D:\MySQL\bin\mysqldump.ex

  • DOS 强行杀进程的命令

    tskill和ntsd命令,两个都能结束任务管理器的进程,或者称为,可以关闭应用程序.但是,两者的用法及范围均有不同,下面,本文简单给大家作个介绍. ①ntsd命令介绍 复制代码 代码如下: c:\>ntsd -c q -p PID 只有System.SMSS.EXE和CSRSS.EXE不能杀. 前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它.ntsd从2000开始就是系统自带的用户态调试工具.被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进

  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    先给大家普及下批处理的基本概念 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat 或cmd.目前比较常见的批处理包含两类:DOS批处理和PS批处理.PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本:而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本.更复杂的情况,需要使用if.for.goto等命令控

  • 批处理命令call、start、goto的使用

    目录 1.call命令 1.1调用批处理 1.2调用目标标签 2.调用call 和不用call 的区别 3.goto 命令 4.start类似于创建一个线程 1.call命令 CALL从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序.call命令主要有2种用法,一种是调用其他批处理程序(*.bat,*.exe,*.cmd,*.COM),目前常用的是*.exe文件和*.bat文件:另一种是CALL :label arguments C:\Users\Administrator>help

  • 批处理命令向win server AD域中批量添加用户实现(2种)

    目录 第一种方式:命令行传参添加 第二种方式:读取文件添加用户 因为要用个批处理命令在Windows Server里面批量添加域用户,所以需要使用批处理命令. 我这篇是纯新手教程,在百度上搜了一些批处理命令感觉属于进阶教程,研究了两天才完成我要完成的目标. 下面从头说一下: 批处理bat文档建立. 直接新建一个TXT文档然后把后缀名改成.bat就可以了,就是一个bat文档,双击可以运行.注意:bat文件在哪,他的运行路径就在哪.添加成功的用户 第一种方式:命令行传参添加 dsadd user "

  • 通过Windows批处理命令执行SQL Server数据库备份

    建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. @echo off set path=%path%;C:Program Files\Microsoft SQL Server\80\Tools\Binn echo 数据库备份开始 >> E:\DataBaseBAK\任务计划完成记录.txt date /t >> E:\DataBaseBAK\任务计划完成记录.txt time /t >> E

  • 批处理命令教学之管道符号(|)

    管道符(|)的作用是将符号前的进程输出,当做符号后进程的输入. 例如: 有两条命令,"dir /s /b /a"和" find ".txt"",第一条显示当前文件夹中的所有文件.文件夹,第二条是查找含有字符".txt"的字符串. 两条命令用管道符(|)连接就可以"查找当前文件夹中含有.txt的所有文件.文件夹". 复制代码 代码如下: dir /s /b /a | find ".txt"

随机推荐