直接传递参数,即在使用call命令时,不使用任何参数,在子函数或子批处理里面直接对主函数(也称父批处理)里面的变量进行修改。这跟汇编语言里面的参数传递方式类似。
    直接传递参数举例:
===============================================
@echo off
setlocal enabledelayedexpansion
set var=aCdehiM,?mnrstW y
echo %var%
call :deal
setlocal disabledelayedexpansion
set var=%var:?=!%
echo %var%
pause>nul
exit

:deal
set tm=!var!
set var=
for %%i in (6,3,11,11,16,15,1,4,11,5,12,13,9,0,12,7,15,14,5,10,2,16,18,8) do (
set var=!var!!tm:~%%i,1!
)
goto :eof
===============================================
    可以发现,当我们把变量var作为参数赋予子函数:deal后,子函数对var的值进行了修改;当子函数返回后,主函数里面的var的值就已经是子函数里面var被修改后的值了。
    该例子中,使用了本节课前面讲到的setlocal enabledelayedexpansion和setlocal disabledelayedexpansion,前者保证了var在for循环里面能够根据我们的意愿进行处理,后者保证了能够正确输出符号"!"。另外例子中还使用了命令set,利用set对字符串进行了处理。还有一个地方使用了语句goto :eof,该语句相当于C语言里面的return或汇编语言里面的RET,即子程序返回命令。需要说明的是,当子函数本身就在批处理文件的末尾的话,我们是可以省略这句话的,比如将此例的goto :eof删除是不会产生任何影响的。

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/7603608.html

【批处理学习笔记】第二十四课:直接传递相关推荐

  1. 孙鑫mfc学习笔记第十四课

    第十四课 网络的相关知识,网络程序的编写,Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过bind与驱动程序建立关系.此后,应用程序送给Socket的数据,由Sock ...

  2. python dataframe 新列_Python第二十四课:Pandas库(四)

    Python第二十四课:Pandas库(四)点击上方"蓝字",关注我们. 不知不觉,我们已经跨越了千难万险,从零开始,一步步揭开了Python神秘的面纱.学到至今,回过头,才晓得自 ...

  3. OpenCV学习笔记(十四):重映射:remap( )

    OpenCV学习笔记(十四):重映射:remap( ) 图像的坐标映射是通过原图像与目标图像之间建立一种映射关系,这种映射关系有两种,一种是计算原图像任意像素在映射后图像的坐标位置,另一种是计算变换后 ...

  4. Spring Security技术栈学习笔记(十四)使用Spring Social集成QQ登录验证方式

    上一篇文章<Spring Security技术栈开发企业级认证与授权(十三)Spring Social集成第三方登录验证开发流程介绍>主要是介绍了OAuth2协议的基本内容以及Spring ...

  5. 深度学习笔记(十四)—— 超参数优化[Hyperparameter Optimization]

      这是深度学习笔记第十四篇,完整的笔记目录可以点击这里查看.      训练神经网络会涉及到许多超参数设置.神经网络中最常见的超参数包括: the initial learning rate lea ...

  6. NeHe OpenGL第二十四课:扩展

    NeHe OpenGL第二十四课:扩展 扩展,剪裁和TGA图像文件的加载: 在这一课里,你将学会如何读取你显卡支持的OpenGL的扩展,并在你指定的剪裁区域把它显示出来.   这个教程有一些难度,但它 ...

  7. Windows保护模式学习笔记(十四)—— 阶段测试

    Windows保护模式学习笔记(十四)-- 阶段测试 题目一 解题步骤 题目二 解题步骤 题目一 描述:给定一个线性地址,和长度,读取内容 int ReadMemory(OUT BYTE* buffe ...

  8. QT学习笔记(十四):QLayout的属性介绍

    QT学习笔记(十四):QLayout的属性介绍 主要包括QBoxLayout.和QGridLayout以及QFormLayout等的参数类似. 我主要说明一下QGridLayout在QtDesigne ...

  9. MATLAB学习笔记(十四)

    MATLAB学习笔记(十四) 一.线性方程组求解 1.1 直接法 1.1.1 利用左除运算符 1.1.2 利用矩阵分解 1.2 迭代法 1.2.1 雅可比(Jacobi)迭代法 1.2.2 高斯-赛德 ...

  10. python数据挖掘学习笔记】十四.Scipy调用curve_fit实现曲线拟合

    #2018-03-28 10:02:08 March Wednesday the 13 week, the 087 day SZ SSMR python数据挖掘学习笔记]十四.Scipy调用curve ...

最新文章

  1. 静态方法mock 和verify
  2. html5 Canvas画图4:填充和渐变
  3. ORACLE的索引和约束详解
  4. 视频 + PPT | 数字化运营,从理论到实践
  5. 如何更改vs默认调试浏览器
  6. 道路交通安全违法行为记分管理办法的重大调整(2022版)
  7. 提高计算机水平的小技巧,五大电脑小技巧
  8. markdown、LaTeX输入自定义算符Res
  9. 简单工厂模式和策略模式结合使用php
  10. android 火箭动画,利用动画模拟火箭发射场景
  11. linux下图片加密原理,Linux中常见的加密技术介绍
  12. 2015 年最流行的 10 个 Linux 发行版
  13. 大数据与云计算学习:数据分析(一)
  14. Atitit gui的实现模式文本 dom ast 像素绘图api native 目录 1. Pl ast xml domAst 1 1.1. 简介 1 1.1.1. 【具体语法树】 2 2.
  15. 初识Unity3D(项目结构、ProBuilder第三方插件)
  16. 浏览器开发者插件集合fehelper
  17. 差分管电路图_DIY一款差分输入的晶体管功放电路图
  18. 如何将webp格式转换成jpg?
  19. 11 空间平面方程 : 参数方程、向量式方程、行列式方程、三点式方程、点法式方程、一般方程
  20. 当443端口被占用时如何解决?

热门文章

  1. python外星人入侵游戏图片_跪求一个问题@关于外星人入侵游戏(《python编程基础从入门到实...
  2. 【Android UI】图片 + 文字展示by SpannableStringBuilder
  3. UIWindow 使用介绍
  4. (001) RN开发之Mac搭建开发环境
  5. import excel to mysql_将 Microsoft Excel 导入至 MySQL
  6. Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
  7. 华为手机权限开启方法8
  8. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #6 使用localmodconfig缩短编译时间...
  9. 四种排序(冒泡、插入、递归、选择)
  10. Linux内核中网络数据包的接收-第一部分 概念和框架