影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....

您现在的位置是:主页 > 工作记 >

部分常用批处理代码(BAT)


  • bat操作可执行文件

     最近项目需要用bat来执行一些程序 ,以前对bat的语法不熟悉,借这个机会学习了一下bat的语法。其实bat文件的语法不是很难,只要熟悉一下几个基本的命令,大部分都能用它们来解决实际问题。本人用到的命令有:

    echo:显示字符

    @:后台执行命令

     start /w:等待某个命令执行完毕

    if exists 文件:判断文件是否存在

     if errorlevel 1 goto fail:判断返回结果值

    rem:注释

    注意:

    1。如果执行自解压文件需要注意它的目标路径,要么在制作自解压文件时指定的目标路径,否则它会解压到当前路径下(可能不是你想要的路径下)。本人被这个问题困扰了好几个小时(没有指定目标路径,结果不知道解压到什么地方去了)。

    2。执行应用程序时,如果应用程序需要一些其它的配置文件并且应用程序调用它们用的是相对路径,那么最好能进入相应的目录,再执行应用程序

    3。if errorlevel 1的判断条件,它不是相当于 if errorlevel == 1 ,而是相当于 if errorlevel <= 1,网上大部分资料都说应该按返回值从小到大来判断,实际上它恰恰相反。

    示例:

    @echo off
    rem this is a upgrade test
    echo start upgrade

    rem 进入相应目录
    cd %ITBOSSAGENT_HOME%/upgrade/
    echo install.exe

    rem 执行自解压程序
    %ITBOSSAGENT_HOME%/upgrade/install.exe
    echo DataTrans.exe

    rem 暂停6秒

    @ping 127.0.0.1 -n 6 > nul l

    rem 执行应用程序
    %ITBOSSAGENT_HOME%/upgrade/DataTrans.exe

    rem 判断应用程序的返回结果
    if errorlevel 1 goto fail
    if errorlevel 0 goto succ
    :fail
    echo upgrade fail

    rem 生成日志文件
    echo upgrade fail >> %ITBOSSAGENT_HOME%/upgrade/test.log
    goto end
    :succ
    echo upgrade succ
    echo upgrade succ >> %ITBOSSAGENT_HOME%/upgrade/test.log 
    goto end
    :end

    rem 判断日志文件是否存在
    if exist %ITBOSSAGENT_HOME%/upgrade/logfile.txt  echo file exists

    echo upgrade over



  • 上一篇:易语言教学代码_日志输出进度条

    下一篇:没有了