当前位置 博文首页 > 批处理入门手册之批处理常用DOS命令篇(echo、rem、cd、dir)

    批处理入门手册之批处理常用DOS命令篇(echo、rem、cd、dir)

    作者:admin 时间:2021-02-01 21:14


    1.1 学习echo  rem  cd  dir命令

    学习要点:
    1。显示信息:echo
    2。注释语句:rem
    3。目录切换:cd
    4。列文件名:dir

    一、显示信息:echo

      在学习echo命令前我们先在C盘下建一个新文件夹bat,并建一个空的bat文件。例如我是的mybat.bat 好了,下面
    我们开始《批处理入门手册》的第一章1.1节。

    1。输出提示信息
    格式:echo 你要输出的信息

    例1

    echo hello,world
    echo i will come back
    pause

    执行显示:
    C:\bat>echo hello,world
    hello,world
    C:\bat>echo i will come back
    i will come back
    C:\bat>pause
    请按任意键继续. . .

    我们写的批处理,能不能让它不显示我们到底写了什么命令?OK!那我们就来学习echo的第二种用法!

    2。关闭该命令的回显
    格式:@ 放在命令前面

    例2

    @echo hello,world
    @echo i will come back
    pause

    执行显示:
    hello,world
    i will come back
    C:\bat>pause
    请按任意键继续. . .


    3。打开回显或关闭回显功能
    格式:echo [{ on|off }]
      解释一下,如果在批处命令前加上echo off,那么将会关闭批处中的命令回显。当然啦,你要是不想显示echo off
    命令本身,你可以把@加在echo off前面。

    例3

    @echo off
    echo hello,world
    echo i will come back
    pause

    执行显示:
    hello,world
    i will come back
    请按任意键继续. . .

      在批处理前面加上@echo off ,它将使所有命令不再显示命令本身,当然也包括了echo off 命令本身也不会回显
    了。

    4。输出空行,即相当于输入一个回车
    格式:echo.
      注意命令中的“.”要紧跟在ECHO后面,中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以
    用,:;”/]+\ 这些任一符号替代。

    例4

    @echo off
    echo 我在写批处理教程哦!
    echo.
    echo 你看到上面有空一行么?
    pause

    执行显示:
    我在写批处理教程哦!

    你看到上面有空一行么?
    请按任意键继续. . .

       命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如echo.|time即相当于在TIME命令执行后给
    出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态。

    5。答复命令中的提问
    格式:ECHO 回复|命令表达式
      作用:通过管道命令 | 把“回复”作为输入传导给后面的“命令表达式”,并作为“命令表达式”的输入。(注
    意,管道命令|的输入方法,shift键 \)

    例5

    @echo off
    rd /s c:\abc
    pause

    执行显示:
    c:\abc, 是否确认(Y/N)?

      解释一下,这里abc是一个不为空的文件夹,用rd 命令删除时它将会询问你Y或N,这时你就要手动的输入Y/N了。
    OK,我们把批处改一下,这时系统将会自动帮助我们把Y输入确认了

    例6

    @echo off
    echo Y|rd /s c:\abc
    pause

    6。建立新文件或增加文件内容
    格式:echo 文件内容>文件名

    例7

    @echo off
    echo 123>myfile.txt
    pause

      这样我们就在当前目录下建立了一个myfile.txt文件,文件的内容为123。如果你想要建立一个空的新文件,那你
    可以试一下这个

    例8

    @echo off
    echo. >myfile.txt 
    pause

      注:上面所有实例中的pause是暂停命令,主要是用来暂停演示给大家看的,哈哈!!

    二、注释语句:rem

    rem 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。

    例1

    @echo off
    echo 这是例1哦!
    rem 上面的echo 语句用于显示提示。
    pause

      另外 :: 也可以起到 rem 的注释作用,  而且更简洁有效;  但有两点需要注意!
     
      第一,  任何以冒号:开头的字符行,在批处理中都被视作标号,  而直接忽略其后的所有内容。
    有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。

    无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,可以起到注释
    作用,所以 :: 常被用作注释符号,其实 : 也可起注释作用。

    例2

    @echo off
    echo 这是例2哦!
    ::上面的echo 语句用于显示提示。
    pause

      第二,  与 rem 不同的是, :: 后的字符行在执行时不会回显,  无论是否用echo on 打开命令行回显状态, 
    因为命令解释器不认为他是一个有效的命令行,  就此点来看, rem 在某些场合下
    将比 :: 更为适用;  另外, rem 可以用于  config.sys  文件中。

    三、目录切换:cd

    1。同一个分区的切换
    目录切换格式:格式:CD [盘符][路径]

      如果当前目录是C:\Documents and Settings\mzybar,我们要切换到同一分区下不同的目录,请看下面的例子。(
    注:下面例子中的>表示命令行下的提示符,>前面的表示当前目录。)

    例1
    切换到C:\WINDOWS目录

    C:\Documents and Settings\mzybar> 
    cd C:\WINDOWS
    C:\WINDOWS>

    例2
    切换到C:\WINDOWS\system32目录

    C:\Documents and Settings\mzybar>        
    cd C:\WINDOWS\system32
    C:\WINDOWS\system32>

      如果当前目录是C:\WINDOWS\system32,我们要返回到上一层目录,即返回到C:\WINDOWS时,我们可以这样:

    例3

    C:\WINDOWS\system32>
    cd..
    C:\WINDOWS>

      在这里,cd..是不是简单了很多?呵呵!当然了,你也可以cd C:\WINDOWS


      如果当前目录是C:\WINDOWS\system32,我们要返回根目录,即返回到C:\时,你可以试下这个:

    例4

    C:\WINDOWS\system32>
    cd\
    C:\ >

      在这里返回根目录时,我们用的是cd\命令,当然你也是可以cd c:\

      其实在DOS命令中.、..和\都是表示相对路径的,.是当前目录,..是上一层目录,而\则表示根目录。我们来试下
    cd.

    例5

    C:\WINDOWS\system32>
    cd.
    C:\WINDOWS\system32>

      看到了吧,当输入cd.后还是在原来的位置,因为 。是当前目录,切换到当前目录当然没有变罗。

    2。不同分区的切换
    格式:格式:CD /d [盘符][路径]
      如果当前目录是C:\Documents and Settings\mzybar,我们需要切换到其它分区目录,请看:

    例1
    切换到D:\123\abc

    C:\Documents and Settings\mzybar>
    cd /d d:\123\abc
    D:\123\abc>

      如果我们要切换到D盘的根目录,则有更简单的方法,请看:

    例2
    C:\Documents and Settings\mzybar>
    D:
    D:\>

      在这里,我们直接输入驱动器号 冒号,就可以切换到它的根目录。

    3。CD 的另一个用途:显示当前的完整路径,一般用通过 %cd% 加以引用。

    例1

    @echo off
    echo 当前路径是 %cd%
    pause

      执行显示的是当前的完整路径。

    四、列文件名:dir

    显示目录中的文件和子目录列表。
    DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
        [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

        [drive:][path][filename]   指定要列出的驱动器、目录和/或文件。

      /A          显示具有指定属性的文件。
      attributes   D  目录                R  只读文件
                   H  隐藏文件            A  准备存档的文件
                   S  系统文件            -  表示“否”的前缀
      /B          使用空格式(没有标题信息或摘要)。
      /C          在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
                  停用分隔符显示。
      /D          跟宽式相同,但文件是按栏分类列出的。
      /L          用小写。
      /N          新的长列表格式,其中文件名在最右边。
      /O          用分类顺序列出文件。
      sortorder    N  按名称(字母顺序)     S  按大小(从小到大)
                   E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
                   G  组目录优先           -  颠倒顺序的前缀
      /P          在每个信息屏幕后暂停。
      /Q          显示文件所有者。
      /S          显示指定目录和所有子目录中的文件。
      /T          控制显示或用来分类的时间字符域。
      timefield   C  创建时间
                  A  上次访问时间
                  W  上次写入的时间
      /W          用宽列表格式。
      /X          显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
                  短名称插在长名称前面。如果没有短名称,在其位置则
                  显示空白。
      /4          用四位数字显示年
     
      关于dir命令比较多,看到上面一大堆的参数头都晕了,呵呵~   在这里我们学习一些常用的就OK了~

    1。列出c:\windows下的目录及文件
    格式:DIR [drive:][path][filename]

    例1
    dir c:\windows
      这种方法有明显的缺点——当列表中的目录及文件过多时就无法完全显示,我们将通过/p参数解决这个问题。


    /P 在每个信息屏幕后暂停。
    例2
    dir /p c:\windows
      我们在命令最后加上一个参数“/p”(即“page”页的缩写),列文件时就会使用分页显示的方式,即列出一屏的目
    录及文件后,提示“按任意键继续...”,按任意键后则显示下一屏。这样就可以逐屏查看了!


    /B 使用空格式(没有标题信息或摘要)。
    例3
    dir /b c:\
    我们在查看时,发现列出来的文件都带有日期,时间,创建者等信息,我们可以在命令后加上/b参数,让它只列出文
    件名称。

    2。列出c:\下指定属性的文件
    格式:DIR /a: attributes (这里的:号可以省略)
      attributes   D  目录                R  只读文件
                   H  隐藏文件            A  准备存档的文件
                   S  系统文件            -  表示“否”的前缀

    例1
    dir /a c:\
    列出C:\下所有的文件。

    例2
    dir /ah c:\
    列出隐含的文件(包含文件和文件夹)。

    例3
    dir /ad c:\
    列出C:\下所有的文件夹。

    例4
    dir /ad-h c:\
    列出C:\下所有的文件夹,但不包含隐含的文件夹。

    3。按分类列出c:\下的文件
    格式:DIR /o: sortorder (这里的:号可以省略)
      sortorder    N  按名称(字母顺序)     S  按大小(从小到大)
                   E  按扩展名(字母顺序)   D  按日期/时间(从先到后)
                   G  组目录优先           -  颠倒顺序的前缀

    例1
    dir /on c:\
    /o:排序方式 参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即代表按照文件名的字母顺序排列
    (从A~Z,以此类推)。

    例2
    dir /ogn c:\
    优先列出文件夹,并且文件夹和文件都按字母顺序排列。

      ★“/o”和“/a”都可以省略其后的冒号“:”,但之间不能留有空格。如“/o:n”省略后的形
    式应为“/on”。

    js