批处理

来源:互联网 发布:中国网络教育大学排名 编辑:程序博客网 时间:2024/06/06 18:44

              今天学了批处理,就把主要的东西给总结下

                          echo:

     返回显示的意思。

    用法:@echo off  放开头,下面的指令将都不显示在控制台

              @echo  后面的在这一行的都不显示

              echo   on  打开

              echo  后面跟变量将显示

                        for:

        用于循环

     基本语法为:

     for   %%I in (command 1) do command

     细节:1.控制台下,变量前用一个%

                2.command 1 必须要用括号括住

                3.I 为变量 ,对大小写敏感

                4.command 1 为字符串或者变量

                5.command 2  为字符串或者变量或者命令

                6.for的单步执行,每次执行一次要理解

                7.command1 中是以,为分割符

   实例:

  1.

   @echo  off

   for %%i in (bbs.bathome.net) do echo %%i

    pause

    显示()中那个字符串

   变化,若.变为,则为三个句子。

   2.显示当前目录下的文件

    @echo off

    for %%i in (*.*) do echo %%i

    pause

   3.显示当前的硬盘分区情况

    @echo  off

    set str=c d e f g h i j k l m n o p q r s t u v w x y z

    echo 显示当前硬盘分区:

    for %%i in (%str%) do if exist %%i:echo %%i:

    pause

    


                              for语句的/f

      /f:用于打开文件并显示在控制台界面

     @echo off

    for /f %%i in (test.txt) do echo %%i

    pause

    

     细节:1.读取过程是,以行为单位的读取

                2.默认是如果行首为;则改行不显示

                3.默认以空格和跳格为分割。

                     /f读取下的工具delims

            delims:   切分用于将文本文件切成小片,便于后面的任意提取

              用法: delims=符号列表

               细节:1.符号列表可以是: , 空格,跳格等符号

                          2.效果是,将改行该符号以前的片段显示,后面的隐藏

                          3,但是仍然是后台进行了片段切分的操作,只是后面的不显示罢了

                           4.注意符号分中文和英文的不同。

              实例

           @echo off

           for /f "delim=," %%I in (test.txt) do echo %%I

           pause

           逗号以前的内容显示,以后的将隐藏,对于每一行来说。



            /f 下的tokens

            tokens:

            用法:提取文件的片段

            语法:tokens=数字列表

            实例:

            @echo off

            for /f "delims=,tokens=2" %%i  in (test.txt) do echo %%i

            pause

            效果是提取以,分割的块的,第二块。

             细节:1、tokens 后面可以跟数字列表,以,隔开

                               如tokens=1,2,4,6

                        2.在1 的基础上,后面的do对应的变量也要相对应的增加,若第一个是i

                             后面依次为j,依次类推。

                        3.如果数字列表较长,支持连续的数字可以用-代替如1,2,3,4,5

                         可以用1-5代替

                        4.它的一些特殊用法

                          tokens=1,*

                          这里*的作用是,将*前对应数字的提取内容,显示出来,并且将其后的                           整个内容作为字符串赋给变量。(实例tokens .*)

              实例:

           @echo off

           for /f "delims=,tokens=2,5" %%i in (test.txt) do echo %%i %%j

           pause

           注意对应

           

          实例tokens.*

            @echo off
            for /f "delims=, tokens=1,3-4,*" %%i in (test.txt) do echo %%i %%j %%k %%l
            pause

             注意观察结果,理解for的循环过程很重要。

                       

                                      /f下的skip

            skip:

             用法:跳过n行

             语法:skip=数字;

             实例

            @echo off

            for /f "skip=2" %%i in (test.txt) do echo %%i

            pause

            跳过第二行

                         



                        /f下的eol

           eol:

           用法:跳过行首以木个字符的行,不显示

           语法:eol=,

           细节1.前面提到/f是默认以;的行不显示,这里如果指定"eol=;" 即它为空的话,                         delims=;对于/f的默认设置将自动失效

                  2.如果要取消这种默认设置可以用如下代码:

                for /f "eol=" ........强制将行首赋值为空,则任意行将会显示。