热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

批处理文件间调用与参数传递方法

本文介绍了如何通过使用call命令在一个批处理文件(.bat)中调用另一个批处理文件,并实现参数的传递。示例展示了两个位于E盘的批处理文件a.bat和b.bat之间的交互。

在批处理脚本编程中,经常需要一个批处理文件调用另一个批处理文件,并可能需要传递参数。为了确保被调用的批处理文件执行完成后能够返回到调用它的文件继续执行剩余的指令,应当使用call命令进行调用。



示例说明:假设我们有两个批处理文件,分别是a.bat和b.bat,这两个文件均存储于E盘的根目录下。下面是如何设置它们之间的调用及参数传递。



1. 主调用文件 a.bat


cd 
D:
pause
call E:\b.bat D
pause

此段代码首先切换到D盘,然后暂停等待用户输入。接着,它使用call命令调用E盘上的b.bat文件,并传递一个参数'D'给b.bat。最后再次暂停,以便用户查看执行结果。



2. 被调用文件 b.bat


@echo off
for %%i in (%1) do (
if not %%i == "" (
start %%i:
)
)
echo 参数接收完成...
pause

b.bat文件开始时关闭了命令回显。接下来,它定义了一个循环,用于处理从a.bat传递过来的参数(这里为盘符'D')。如果接收到的参数不为空,则执行start命令打开对应的磁盘分区。最后,显示一条消息并暂停,让用户确认操作已完成。



注意事项:



  • 在批处理文件中,变量通常以%%variable的形式声明;而在命令行中则使用%variable。

  • %1至%9代表传递给批处理文件的前9个参数。例如,在上述例子中,'D'作为a.bat调用b.bat时的第一个参数,即%1。

  • start命令用于启动新的进程,常用于打开文件或程序。如果目标程序位于系统路径中,如Windows目录或System32目录下,可以直接使用start命令启动该程序。


推荐阅读
  • 本文详细介绍了如何在 Windows Server 2008 R2 64位操作系统上配置 BugFree 3.0.3 的服务器环境,包括所需软件的安装与配置步骤。 ... [详细]
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • 本文探讨如何使用 PHP 进行字符串处理,特别是如何检测一个字符串是否存在于另一个字符串中,并确定其具体位置。通过实例代码展示,帮助读者掌握这一常用功能。 ... [详细]
  • 本文介绍了如何使用Gradle和gdx-setup.jar工具来创建LibGDX项目,包括详细的步骤和注意事项,适合初学者和有经验的开发者。 ... [详细]
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • 2015款Chromebook Pixel评测:高端Chrome OS笔记本体验
    在笔记本电脑领域,Chromebook Pixel凭借其精致的铝合金外壳、细腻的显示屏和舒适的键盘,成为了外观设计的佼佼者。然而,尽管外观出众,它是否值得购买仍需考量。 ... [详细]
  • 当您的笔记本电脑出现无法正常关机的情况时,可以通过多种方法进行排查和修复,包括检查声音文件、减少启动程序、调整电源管理设置等。 ... [详细]
  • 本文详细介绍了如何在两台运行 Windows Server 2003 的计算机上配置两个 MySQL 实例以实现主从复制。每台计算机分别命名为 Master 和 Slave,确保系统分区及 MySQL 安装路径的正确配置。 ... [详细]
  • 本文详细介绍了在Linux操作系统中安装和配置虚拟机的方法,包括选择合适的虚拟机软件、安装过程及基本配置步骤。 ... [详细]
  • 本文介绍了一种高效的方法来计算特定月份内的工作日数量,并提供了一段SQL代码示例,该方法通过优化减少了不必要的循环,提高了查询效率。 ... [详细]
  • 本文详细介绍了几种常见的开源许可证,包括BSD、GPL、LGPL、MIT、Apache、MPL和CDDL等,探讨了各自的特性和适用场景。 ... [详细]
  • 在Kubernetes集群中部署Kuboard
    本文详细介绍了如何在Kubernetes(简称k8s)环境中部署Kuboard,包括必要的命令和步骤,帮助用户顺利完成安装。 ... [详细]
  • [Head First设计模式笔记]命令模式
    命令模式定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。类图:适用设计方案举例:实现一种遥控器,该遥控器具有七个可编程的插 ... [详细]
  • 本文介绍了两种获取和研究 .NET Framework 源代码的有效途径:一是通过官方提供的下载链接获取完整源代码,并使用 Visual Studio 进行本地查看;二是利用在线资源平台,直接在网页上浏览源代码。 ... [详细]
  • 本文介绍并分享了三个个人开源项目,涵盖单元测试中HttpContext的可测试性增强、Visual Studio插件开发以及单元测试报告自动生成工具。 ... [详细]
author-avatar
司文龙2502933797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有