位置: 编程技术 - 正文

DOS批处理 函数定义与用法(dos命令批量处理文件)

编辑:rootadmin

推荐整理分享DOS批处理 函数定义与用法(dos命令批量处理文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:dos批处理实例,dos批处理实例800例,dos批处理命令,dos批命令,dos批处理实例800例,dosbox批处理,dos批处理命令,dos常用命令与批处理文件,内容如对您有帮助,希望把文章链接给更多的朋友!

What it is, why it`s important and how to write your own.

Description: The assumption is: A batch script snippet can be named a function when:

1.... it has a callable entrance point.2.... on completion execution continues right after the command that initially called the function.3.... it works the same no matter from where it`s being called, even when it calls itself recursively.4.... the variables used within a function do not conflict with variables outside the function.5.... it exchanges data with the calling code strictly through input and output variables or a return code.

The benefits behind functions are:

1.Keep the main script clean2.Hide complexity in reusable functions3.Test functions independently from the main script4.Add more functionality to your batch script simply by adding more functions at the bottom5.Don`t worry about the function implementation, just test it and use it Create a Function What is a function&#; Call a Function How to invoke a function&#; Example - Calling a Function An Example showing how it works. Passing Function Arguments How to pass arguments to the function&#; Parsing Function Arguments How to retrieve function arguments within the function&#; Example - Function with Arguments An Example showing how it works. Returning Values the Classic Way The classic way of returning values and the limitations. Returning Values via References Let the caller determine how to return the function result and avoid the need of dedicated variables. Example - Returning Values using Variable Reference An Example showing how it works. Local Variables in Functions How to avoid name conflicts and keep variable changes local to the function&#; Returning Local Variables How to pass return values over the ENDLOCAL barrier&#; Recursive Functions Tadaaah!!! Summary Defining a standard format for a DOS batch function DOS Batch - Function Tutorial What it is, why it`s important and how to write your own.

Create a Function - What is a functionDescription: In DOS you write a function by surrounding a group of command by a label and a GOTO:EOF command. A single batch file can contain multiple functions defined like this. The label becomes the function name. Script:

Call a Function - How to invoke a functionDescription: A function can be called with the CALL command followed by the function label. Script: . call:myDosFunc

Example - Calling a Function - An Example showing how it worksDescription: The use of batch functions will divide the script into two sections.

1.The main script: starting at line 1 ending with a GOTO:EOF command that terminates the script.2.The function section: filling the second half of the batch file with one or more functions to be callable from the main script. Script:

Script Output: Script Output going to execute myDosFunc here the myDosFunc function is executing a group of commands it could do a lot of thingsreturned from myDosFunc Press any key to continue . . . Passing Function Arguments - How to pass arguments to the functionDescription: Just as the DOS batch file itself can have arguments, a function can be called with arguments in a similar way. Just list all arguments after the function name in the call command. Use a space or a comma to separate arguments. Use double quotes for string arguments with spaces. Script:

Parsing Function Arguments - How to retrieve function arguments within the functionDescription: Just as the DOS batch file itself retrieves arguments via %1 â&#;¦ %9 a function can parse it`s arguments the same way. The same rules apply. Let`s modify our previews example to use arguments. To strip of the double quotes in an arguments value the tilde modifier, i.e. use %~2 instead of %2. Script:

Example - Function with Arguments - An Example showing how it worksDescription: The following example demonstrates how to pass arguments into a DOS function. The :myDosFunc function is being called multiple times with different arguments.

Note: The last call to myDosFunc doesn`t use double quotes for the second argument. Subsequently "for" and "me" will be handled as two separate arguments, whereas the third argument "me" is not being used within the function. Script: Script Output: Script Output going to execute myDosFunc with different arguments here the myDosFunc function is executing a group of commands it could do of things YeePEE. here the myDosFunc function is executing a group of commands it could do of things for me. here the myDosFunc function is executing a group of commands it could do of things for me. here the myDosFunc function is executing a group of commands it could do of things for. Press any key to continue . . .

Returning Values the Classic Way - The classic way of returning values and the limitationsDescription: The CALL command doesn`t support return values as known by other programming languages. The classic walkaround is to have the function store the return value into a environment variable. The calling script can use this variable when the function returns. The :myGetFunc function below demonstrates how the variable var1 gets the "DosTips" string assigned which can then be used in the calling function.

DOS批处理 函数定义与用法(dos命令批量处理文件)

Note: The var1 variable is reserved for this particular function. Any data stored in var1 by the calling function before calling :myGetVar will be overwritten. Usage:

Script:

Script Output: Script Output var1 before: some hopefully not important stringvar1 after : DosTips Returning Values via References - Let the caller determine how to return the function result and avoid the need of dedicated variablesDescription: Instead of using "global" variables for return value, the function can use one of it`s arguments as variable reference. The caller can then pass a variable name to the function and the function can store the result into this variable making use of the command line expansion of the command processor:

Note: The var1 variable is not reserved for this articular function. Any variable can be passed to the function the caller has full control. Usage:

Script:

Script Output: Script Output var1 after : DosTips Example - Returning Values using Variable Reference - An Example showing how it worksDescription: This code shows how the var1 variable is being passed into a :myGetFunc function simply by passing the variable name. Within the :myGetFunc function the command processor works like this:1.Reads the set command into memory: set "%~1=DosTips"2.Expand the variables, i.e. %~1 like this: set "var1=DosTips"3.Finally execute the command and assign the new string to var1 Script:

Script Output: Script Output var1 before: CmdTipsvar1 after : DosTips Press any key to continue . . .

Local Variables in Functions - How to avoid name conflicts and keep variable changes local to the functionDescription: The SETLOCAL causes the command processor to backup all environment variables. The variables can be restored by calling ENDLOCAL. Changes made im between are local to the current batch. ENDLOCAL is automatically being called when the end of the batch file is reached, i.e. by calling GOTO:EOF. Localizing variables with SETLOCAL allows using variable names within a function freely without worrying about name conflicts with variables used outside the function. Script:

Script Output: Script Output aStr before: Expect no changed, even if used in functionvar1 before: No change for this one. Now what&#;aStr after : Expect no changed, even if used in functionvar1 after : No change for this one. Now what&#; Press any key to continue . . . Returning Local Variables - How to pass return values over the ENDLOCAL barrierDescription: The question is: When localizing a function via SETLOCAL and ENDLOCAL, how to return a value that was calculated before executing ENDLOCAL when ENDLOCAL restores all variables back to its original state&#; The answer comes with "variable expansion". The command processor expands all variables of a command before executing the command. Letting the command processor executing ENDLOCAL and a SET command at once solves the problem. Commands can be grouped within brackets. Script:

Script Output: Script Output aStr before: Expect no changed, even if used in functionvar1 before: Expect changedaStr after : Expect no changed, even if used in functionvar1 after : DosTips Press any key to continue . . .

Recursive Functions - Tadaaah!!!Description: Being able to completely encapsulate the body of a function by keeping variable changes local to the function and invisible to the caller we are now able to call a function recursively making sure each level of recursion works with its own set of variables even thought variable names are being reused.

Example: The next example below shows how to calculate a Fibonacci number recursively. The recursion ss when the Fibonacci algorism reaches a number greater or equal to a given input number. The example starts with the numbers 0 and 1 the :myFibo function calls itself recursively to calculate the next Fibonacci number until it finds the Fibonacci number greater or equal .

The first argument of the myFibo function is the name of the variable to store the output in. This variable must be initialized to the Fibonacci number to start with and will be used as current Fibonacci number when calling the function and will be set to the subsequent Fibonacci number when the function returns. Script:

Script Output: Script Output The next Fibonacci number greater or equal is . Press any key to continue . . . Summary - Defining a standard format for a DOS batch functionDescription: With the information learned in this section we can define a standard format for a DOS batch functions as shown below. Also check out the rich set of ready to use DOS functions provided by the DosTips.com function library. Script:

出处:

批处理bat命令 获取当前盘符和当前目录和上级目录的代码 批处理命令获取当前盘符和当前目录%~d0是当前盘符%cd%是当前目录可以用echo%cd%进行打印测试以下例子是命令行编译VisualStudio编写的程序:@echooffsetb=%cd%//

ECHO 不换行实现方法 我想用批处理实现向s.txt中多次分别导入文本例如:aaaa","bbbb","cccc","dddd"实现s.txt内效果如:aaaabbbbccccdddd可是echo命令每次导入的时候会强制换行,如:aaa

CMD中使用attrib命令设置文件只读、隐藏属性详解 本文介绍一个cmd下的一个attrib.exe的小程序,它可以用来设置文件的属性。我们知道文件的属性有只读、隐藏、系统、存档和无内容索引等5个,只读和隐

标签: dos命令批量处理文件

本文链接地址:https://www.jiuchutong.com/biancheng/371857.html 转载请保留说明!

上一篇:批处理bat计算两个时间差(bat批处理命令大全)

下一篇:批处理bat命令 获取当前盘符和当前目录和上级目录的代码(批处理 /b)

  • 个人所得税C表怎么填写
  • 收到出口退税款如何入账
  • 支付税金怎么算
  • 税务ukey如何清卡
  • 房地产开发企业销售自行开发的房地产项目
  • 结转本年利润要扣除企业所得税吗
  • 如何查看发票是否被抵扣
  • 个人独资企业有股权吗
  • 直接计入当期损益的利得和损失,是指( )的利得或损失
  • 增值税逾期未申报的税务怎么处理
  • 筹办期的工资费用是什么
  • 个体户能开增值税专用发票税率是多少
  • 质量不合格起诉状
  • 申报过的印花税怎么删除
  • 贷款公司收取服务费是诈骗吗
  • 视同销售存货账务处理方法是什么?
  • 燃气公司开发票的工程款入什么会计科目核算与分录怎么写?
  • 个体户国税定额开发票60000元地税要交多少钱?
  • 不同项目之间进项税能否抵扣?
  • 个人所得税变动率计算公式为多少
  • 特许权使用费的收入确认时间
  • 未达起征点企业怎么处理
  • 去税务局税种认定需要带什么资料
  • 买一赠一怎么确定真假
  • 无形资产摊余价值不含减值
  • 反映留存收益的账户
  • 出售股权收入会计分录
  • win10如何查看显卡版本
  • 孕妇能吃桂圆吗有什么好处
  • 销项负数发票应该给谁
  • 发生额怎么算
  • 电脑密码解除步数怎么弄
  • 厂房出租租金要交多少税
  • 库存现金盘盈怎么做分录
  • 游泳耳朵进水怎么办
  • wordpress如何使用
  • 向银行贷款资金成本率计算公式是什么
  • 公司的财产保险包括哪些
  • vue2路由跳转页面不刷新问题
  • 常用的成本计算方法有哪些
  • YII视图整合kindeditor扩展的方法
  • 【综述】分子预训练模型综述
  • 外经证还有几天到期延期需要的资料
  • 为什么股本溢价
  • python解密加密文件
  • 应收票据包括哪些项目内容
  • 备抵法账务处理方式
  • 购入项目用仪器怎么做账
  • 资产负债表日后事项是什么意思?
  • 企业低值易耗品的摊销方法有
  • mysql常用命令有哪些
  • 存货盘亏需要进项转出吗
  • 个人所得税税前扣除凭证
  • 银行代扣水电费发票到哪里打
  • 出售辅助材料怎么做账
  • 什么是资金结存,它具体包括哪些内容
  • 服务外包离岸业务是什么
  • 关于文化事业建设费的说法错误的是
  • 以前年度应收账款少记怎么处理
  • 物业管理企业应当与居委会共同做好什么工作
  • ubuntu help
  • freebsd 安装
  • win7回收站路径在哪里
  • linux磁盘的使用方式
  • centos6.8修改主机名
  • win7查看本机信息
  • linux安全工具
  • win7安装kb4534310补丁失败
  • win8.1开机进入桌面
  • javascript中的数字型可以用来保存整数或浮点数(小数)
  • perl -pi
  • shell获取当前脚本的进程
  • unity3d有什么用
  • jquery iframe
  • bootstrap要学到什么程度
  • python运行批处理文件
  • 四川省地方税务局2017年1号公告
  • 深圳营业执照办理咨询电话
  • todesk点不了
  • 2020年税务系统关闭
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设