call命令

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

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

语法

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

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

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

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

@echo off
call F:\tmp\called.bat "hello world"

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

文件内添加以下代码

@echo off
echo %

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

运行结果为:

"hello world"

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

notepad a.bat

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

2、CALL :标号 引数

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

@echo off
call :called "test call"

:called
echo begin called
echo %
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 %
    exit /b
ENDLOCAL

:called2
SETLOCAL
    echo %
    exit /b
ENDLOCAL

执行结果:

"test call1"
"test call2"

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

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

DOS批处理命令-call命令的更多相关文章

  1. windows命令行(DOS批处理)添加任务计划

    自动创建每周运行一次的计划任务 创建计划任务可用at,schtasks命令,schtasks提供了很多参数 命令schtasks SCHTASKS /Create [/S system [/U use ...

  2. 命令精解之DOS批处理

    前言 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古语云:“授人以鱼,不如授人以渔.”因为网上 ...

  3. DOS批处理命令判断操作系统版本、执行各版本对应语句

    DOS批处理命令判断操作系统版本.执行各版本对应语句   昨天在家里试用  netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...

  4. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具

    使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...

  5. DOS批处理命令-几个固定名称的变量

    批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD%   当前路径的路径名[盘符 + 路径]    - 現在のディレクトリ文字列に ...

  6. DOS批处理命令-注释

    注释是每个程序中不可或缺的(不是对计算机来说,而是对我们这些程序员阅读代码来说) 语法: ①rem 这是批处理的注释命令,rem后面的内容全部是注释 例:rem 这是一行注释 ②:: 批处理遇到以冒号 ...

  7. cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip

    在cocos2d-x使用中,须要不停的转换文件和压缩或解压文件.假设全人工来做,太麻烦了,且easy出错. 我如今把一些用的到批处理贴出来,供大家使用 自己主动把dat文件按数字排序重命名gz.DOS ...

  8. dos下的edit命令使用详解

    dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...

  9. 最完整的dos命令字典,IIS服务命令,FTP命令

    https://www.cnblogs.com/accumulater/p/10670051.html(优秀博文) 一.最完整的dos命令字典net use ipipc$ " " ...

  10. 批处理&提权命令

    提权应用 批处理遍历webshell可访问目录 opendir.readdir.is_dir.is_writable这几个遍历文件夹的函数,在php限制的情况下,找可执行目录就没有优势了. @echo ...

随机推荐

  1. SQL Delta实用案例介绍 (对应软件)

    http://blog.csdn.net/hongdi/article/details/5363209

  2. 剑指OFFER之跳台阶(九度OJ1388)

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n< ...

  3. HDU 1863 畅通工程

    畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  4. delphi 滚屏

    滚屏   uses MSHTML;var    a: IHTMLDocument2;    x,y:Integer;begin    y:=y+20;   //加减进行上下滚动    a :=WebB ...

  5. 使用proguard混淆android代码

    当前是有些工具比方apktool,dextojar等是能够对我们android安装包进行反编译,获得源代码的.为了降低被别人破解,导致源代码泄露,程序被别人盗代替码,等等.我们须要对代码进行混淆,an ...

  6. 检测到有潜在危险的 Request.Form

    今天在做一个.net的新闻发布器的时候. 遇到这样的一个问,在html编辑器里面加入图片提交的时候 就报一个 从客户端(content1="<img src="/web/ne ...

  7. 在一个文件中有10G个整数,乱序排列,要求找出中位数

     题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数.内存限制为 2G.只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存). ...

  8. Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程

    package com.demo.test4; import java.util.ArrayList; import java.util.List; import java.util.concurre ...

  9. 纯C++ 连接SQL Server2005 数据库读写操作的小例子

    一个测试c++链接 sql server 数据库的例子// 数据库说明// 数据库用户为 sa , 密码为 空// 数据库为 MyDB// 表为 UserInfo// 表字段为 Name . Pass ...

  10. [转] 详解http和https的作用与区别

    PS: https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密.防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名.另外是加密,加密需要一个密钥交换算法, ...