zoukankan      html  css  js  c++  java
  • DOS批处理命令-call命令

    call命令

    在批处理中调用别的批处理或者可运行程序或者

    バッチ プログラムを別のバッチ プログラムから呼び出します。

    语法

    1、CALL [驱动盘符:][路径]文件名 [参数]

    调用并执行[驱动盘符:][路径]文件名对应的处理程序,并将参数传递给该处理(参数之间用空白字符隔开)

    这样就支持了bat程序的扩展

    例如,我们可以调用bat,vbs,exe等处理来扩展bat程序的处理能力。

    @echo off
    call F:	mpcalled.bat "hello world"

    在路径【F: mp】下面建个【called.bat】文件

    文件内添加以下代码

    @echo off
    echo %1

    * %1是输出传递该处理的第一个参数

    运行结果为:

    "hello world"

    在例如,我们使用记事本来打开我们called.bat文件

    notepad a.bat

    执行上面这条语句,就会使用记事本来打开当前路径下的a.bat文件。

    2、CALL :标号 引数

    将引数传递给标号指定的处理,并将执行标号指定的处理,然后返回调用处,继续执行下面的处理。

    @echo off
    call :called "test call"
    
    :called
    echo begin called
    echo %1
    echo end called

    运行结果(a.bat a.bat):

    begin called
    "test call"
    end called
    begin called
    a.bat
    end called

    发现标签内的部分被执行了两边。投一次是call调用的时候执行的("test call"),call执行后,bat顺序执行以后,接下来是继续执行下标号的内容(a.bat

    解决这个问题,我们需要在我们需要终止的时候,添加一个【exit /b】出来

    程序修改以后:

    @echo off
    call :called1 "test call1"
    call :called2 "test call2"
    
    exit /b
    
    :called1
    SETLOCAL
        echo %1
        exit /b
    ENDLOCAL
    
    :called2
    SETLOCAL
        echo %1
        exit /b
    ENDLOCAL

    执行结果:

    "test call1"
    "test call2"

    看到这个地方执行状况,你不是觉得这个东西很像一个函数呢?

    应该说这就是一个函数。以后我们想提取函数的时候就这么写了。

  • 相关阅读:
    Photon3Unity3D.dll 解析三——OperationRequest、OperationResponse
    关于VS2010的一些操作
    Photon3Unity3D.dll 解析二——EventData
    Photon3Unity3D.dll 解析一
    关于U3D中的移动和旋转
    U3D的一些常用基础脚本
    U3D模拟仿真实现
    构建基于TCP的应用层通信模型
    TCP协议的三次握手
    Python生成随机字符串
  • 原文地址:https://www.cnblogs.com/gekal/p/3217773.html
Copyright © 2011-2022 走看看