zoukankan      html  css  js  c++  java
  • bat(批处理)命令(tomcat 7.0.75 startup.bat 命令集)

    本文主要介绍tomcat 7.0.75中startup.bat(位置:tomcat目录in)中涉及到的bat命令,为tomcat源码研究做准备。

    startup.bat中涉及到的bat命令如下:

      一. echo

    echo 命令:显示消息,或者启用或关闭命令回显

    echo 命令格式:

      1.echo [on|off]

      2.echo [message]

    测试代码如下:

    1 d:
    2 cls
    3 echo on
    4 echo This is test
    5 echo off
    6 echo This is test
    7 pause

      效果如下:

      

      小结:

      经测试发现echo 主要有2大功能:

    1. 显示消息
    2. 打开或关闭命令回显

    * 命令回显:如上图,当脚本运行至第一个echo This is test 时,已经运行了echo on,所以此时命令回显是打开的,故而在cmd中显示该命令(echo This is test)。继续运行脚本至第二个This is test时,运行了echo off,命令回显关闭,所以在cmd只会显示命令(echo This is test)的结果(在cmd显示This is test),而不会显示该命令。

    二. @

    @命令:运行时不回显命令

    测试代码如下:

    1 d:
    2 cls
    3 echo This is test
    4 @echo This is test
    5 pause
    6 @pause

      效果如下:

      

      小结:

      经测试发现,当命令(@echo This is test)运行时,不回显命令(即不在cmd中显示命令'echo This is test',可对照命令'echo This is test')。其效果如echo off 一样,2者区别在于执行echo off后,其后的代码均不会回显命令,除非有像echo on这样打开命令回显的命令执行。而执行@+某条命令只会使该命令不回显,而不影响其他命令是否回显。同样在执行pause和@pause时,带@的pause没有回显命令,不带@的pause回显命令。

      *pause的作用是当脚本执行至此命令时,不执行之后的命令并暂停,仅当按任意键后继续运行。

      三. rem

      rem 命令:在批处理文件里增加注释或说明

      rem 命令格式:rem [comment]

      测试代码如下:

    1 d:
    2 cls
    3 rem echo this is rem
    4 echo this is rem
    5 pause

      效果如下:

      

      小结:

      经测试发现,rem 命令没有产生任何可见的结果,据官方解释rem命令功能为“在批处理文件或***里加上注释或说明。”。

      四.set

      set 命令:显示、设置或删除 cmd.exe 环境变量

      set 命令格式:set [variable=[string]]

      测试代码如下:

    1 d:
    2 cls
    3 set var=1
    4 set var1=2
    5 echo %var%,%var1%
    6 pause

      效果如下:

      

      小结:

      经测试发现,set 命令可以设置环境变量并赋值,用echo 命令可以显示变量值。

      *1.echo 命令显示变量值的格式为 echo %变量名称%,例如显示名称为var变量的值,使用echo %var%。

      *2.若变量赋值时内容有空格,使用set "变量赋值表达式"的方法完整赋值内容。

      五.setlocal

      setlocal 命令:开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后所做的环境改动只限于批处理文件。要还原原先的设置,必须执行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。

      个人理解setlocal和endlocal命令为变量的局部化,在setlocal至endlocal命令之间为此区域变量的作用范围。对变量做任何操作皆不会影响其他区域的变量。

      测试代码如下:

     1 d:
     2 cls
     3 set var=1
     4 echo %var%
     5 setlocal
     6 set var=2
     7 echo %var%
     8 endlocal
     9 echo %var%
    10 pause

      效果如下:

      

      小结:

      经测试发现,在setlocal和endlocal之间的区域对变量的值做修改并不会影响其他区域相同变量的值

      六.if

      if 命令:执行批处理程序中的条件处理

      if 命令格式:

        1. if [not] string1==string2 command

        2.if [not] exist filename command

      测试代码如下:

     1 d:
     2 cls
     3 if 1==1 echo equ
     4 if not exist D:qwertyuiop echo not exist
     5 set "var=1"
     6 set "var1=2"
     7 set "var3=D:qwertyuiop"
     8 if not %var%==%var1% echo not equ
     9 if not exist %var3% echo not exist dir
    10 pause

      效果如下:

      

      小结:

      经测试发现,if 命令可判断2个字符串或变量的值是否相等并且判断文件或目录是否存在

      七.goto

      goto 命令:将 cmd.exe 定向到批处理程序中带标签的行。

      goto 命令格式:goto lable

      测试代码如下:

     1 d:
     2 cls
     3 :start
     4 echo start
     5 goto lab
     6 :end
     7 echo end
     8 pause
     9 :lab
    10 echo lab
    11 goto end

      效果如下:

      

       小结:

      经测试发现,执行goto 命令后转至相应的指令行去执行。

      八.cd

      cd 命令:显示当前目录名或改变当前目录。

      cd 命令格式:

        1.cd [/d] [drive:][path]

        2.cd [..]

      测试代码如下:

    1 d:
    2 cls
    3 cd d:
    4 cd..
    5 pause

      效果如下:

      

      小结:

      经测试发现,cd [drive:][path] 格式的cd命令进入指定目录,cd [..] 格式的命令返回上一层目录。

      九.call

      call 命令:从批处理程序调用另一个批处理程序。

      call 命令格式:call [drive:][path]filename [batch-parameters]

      测试代码如下:

    1 rem main file
    2 d:
    3 cls
    4 call d:	est.bat
    5 pause
    6 rem 需要自己在d盘创建test.bat,并写入如下信息。
    7 rem test.bat
    8 echo this is test.bat
    9 pause

      效果如下:

      

      小结:

      经测试发现,call  命令可调用其他bat文件并执行。

      十.shift

      shift 命令:更改批处理文件中可替换参数的位置。

      shift 命令格式:shift [/n]

      测试代码如下:

     1 d:
     2 cls
     3 call :f 1 2 3
     4 goto end
     5 :f
     6 echo %1,%2,%3
     7 shift
     8 echo %1,%2,%3
     9 goto:eof
    10 :end
    11 pause

      效果如下:

      

      小结:

      经测试发现,shift命令将第2和第3个参数同时向左移位1。

      *以上命令介绍并不全面,只是简单介绍startup.bat文件中所用到的功能。

      版权声明:本文原创发表于 博客园,作者为 微小处存bug 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

      感谢您的阅读,若您觉得本文对您有所帮助,请点击右下角的推荐按钮。

      若您想支持作者,详见下方二维码:

         

  • 相关阅读:
    20200910-3 命令行和控制台编程
    C语言1作业04
    C语言1博客作业03
    c语言1博客作业02
    2018寒假作业--3抓老鼠啊~亏了还是赚了?
    2018寒假作业2--币值转换
    2018寒假作业-1 打印沙漏
    记叙在人生路上对我影响最大的三位老师
    自我介绍
    抓老鼠啊~亏了还是赚了?编程总结
  • 原文地址:https://www.cnblogs.com/open-technology/p/7885878.html
Copyright © 2011-2022 走看看