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. 工具栏停靠实现(toolbar docking)

    // TODO: 如果不需要工具栏可停靠,则删除这三行 m_ToolBar_File.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_A ...

  2. ASCII,GB2312,GBK,Unicode,Utf-8

    1.ASCII:American Stardand Code for Information Interchange,是当时美国制定出来的一套编码系统,使用7位或8位二进制来表示西文字符,0-31以及 ...

  3. Python requests模块在Windows下安装

    发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...

  4. HTML5 - HTML5 postMessage API 注意事项

    一:发送 window.postMessage("Hello, world", "http://127.0.0.1:8080"); 注意,必须要加上http:/ ...

  5. 节点文件将两个不同格式的XML文件,进行节点对照,并生成一个用于对照功能的XML

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~ 经常有的需求是,需要将一种格式的XML转换成另一种XML.如果要实现这个功能首先需要将两个不同XML手动建立节点对比关系.然后 ...

  6. HDU 4821 String hash

    String Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  7. uoj #31. 【UR #2】猪猪侠再战括号序列 贪心

    #31. [UR #2]猪猪侠再战括号序列 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/31 Descript ...

  8. 从Wolframserver获取DC comics卡通人物数据

    背景知识 DC comics是美国时代华纳旗下DC娱乐下属的一个漫绘图书出版商. 超人.蝙蝠侠之类漫画的始作俑者. 在Wolfram的眼下为止3750个PopularCurves数据中(所有下载数据有 ...

  9. HDU1013_Digital Roots【大数】【水题】

    Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  10. win7中USB音箱没有声音解决的方法

    Win7装好后,原来在XP中工作正常的USB小音箱却不工作了,重装了声卡驱动还是一样,后来通过下面尝试最终好用了. 1.右键右下角喇叭button. 2.点击"播放设备". 3.设 ...