【批处理学习笔记】第四课:简单批处理命令(3)

call 命令   CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 CALL command 调用一条批处理命令,和直接执行命令效果一样,特殊情况下很有用,比如变量的多级嵌套,见教程后面。在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,见例子。 CALL [drive:][path]filename [batch-parameters] 调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名。 CALL :label arguments 调用本文件内命令段,相当于子程序。被调用的命令段以标签:label开头 以命令goto :eof结尾。 另外,批脚本文本参数参照(%0、%1、等等)已如下改变:      批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)      批参数(%n)的替代已被增强。您可以使用以下语法:(看不明白的直接运行后面的例子)          %~1         - 删除引号("),扩充 %1          %~f1        - 将 %1 扩充到一个完全合格的路径名          %~d1        - 仅将 %1 扩充到一个驱动器号          %~p1        - 仅将 %1 扩充到一个路径          %~n1        - 仅将 %1 扩充到一个文件名          %~x1        - 仅将 %1 扩充到一个文件扩展名          %~s1        - 扩充的路径指含有短名          %~a1        - 将 %1 扩充到文件属性          %~t1        - 将 %1 扩充到文件的日期/时间          %~z1        - 将 %1 扩充到文件的大小          %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果:          %~dp1       - 只将 %1 扩展到驱动器号和路径          %~nx1       - 只将 %1 扩展到文件名和扩展名          %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。          %~ftza1     - 将 %1 扩展到类似 DIR 的输出行。     在上面的例子中,%1 和 PATH 可以被其他有效数值替换。%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*使用注意: 参数扩充时不理会参数所代表的文件是否真实存在,均以当前目录进行扩展要理解上面的知识,下面的例子很关键。 例: @echo off Echo 产生一个临时文件 > tmp.txt Rem 下行先保存当前目录,再将c:\windows设为当前目录 pushd c:\windows Call :sub tmp.txt Rem 下行恢复前次的当前目录 Popd Call :sub tmp.txt pause Del tmp.txt exit :sub Echo 删除引号: %~1 Echo 扩充到路径: %~f1 Echo 扩充到一个驱动器号: %~d1 Echo 扩充到一个路径: %~p1 Echo 扩充到一个文件名: %~n1 Echo 扩充到一个文件扩展名: %~x1 Echo 扩充的路径指含有短名: %~s1 Echo 扩充到文件属性: %~a1 Echo 扩充到文件的日期/时间: %~t1 Echo 扩充到文件的大小: %~z1 Echo 扩展到驱动器号和路径:%~dp1 Echo 扩展到文件名和扩展名:%~nx1 Echo 扩展到类似 DIR 的输出行:%~ftza1 Echo. Goto :eof 例: set aa=123456 set cmdstr=echo %aa% call %cmdstr% pause 本例中如果不用call,而直接运行%cmdstr%,将显示结果%aa%,而不是123456

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏网站漏洞修补

DedeCMS V5.7sp2网站漏洞如何修复

织梦dedecms,在整个互联网中许多企业网站,个人网站,优化网站都在使用dede作为整个网站的开发架构,dedecms采用php+mysql数据库的架构来承载...

29910
来自专栏游戏杂谈

初试php中的curl

http://www.wapm.cn/phpdoc/zh/ref.curl.html

14020
来自专栏网站漏洞修补

开源程序的网站漏洞检测对获取管理员密码漏洞如何修复

PbootCMS是网站常用的一款CMS系统,是由国内著名程序开发商翔云科技研发的一套网站CMS系统,免费开源,扩展性较高,使用的企业很多但是避免不了网站存在漏洞...

23440
来自专栏carven

使用yeoman快速搭建前端项目结构

最近在慕课网上观看@Materliu老师的课程React实战–打造画廊应用, 接触到了新的东西–yeoman。前端工程师可以通过yeoman快速的搭建好一个项目...

10900
来自专栏影子

一张图解析 编译器编译流程

403150
来自专栏喵了个咪的博客空间

1.开发规范-- 常用的版本控制

#常用的版本控制# ##前言## 这里版本控制是经过笔者在项目中实践总结得出的,有比较广的适用范围, 当然也要根据不同的业务有取舍应为笔者水平有限,其中有不足的...

389100
来自专栏博客园

Asp.Net Web API(一)

          HTTP不仅仅服务于Web Pages。他也是一个创建展示服务和数据的API的强大平台。HTTP是简单的,灵活的,无处不在的。你能够想象到几...

19640
来自专栏韩伟的专栏

编写可复用的服务端软件系统应该注意的五个重要细节

编写可复用的服务端软件系统应该注意的五个重要细节 作为程序员,我们往往希望自己写的代码能被最大程度的重用,但是我们依然能看到有很多“被重复发明的轮子”,其原因往...

385100
来自专栏三木的博客

Linux基础知识总结

###一:什么是Linux? Linux被称为类Unix操作系统,遵循POSIX标准。Linux与Unix的最大不同在于源代码的开放性和自由性。 Linux的发...

26690
来自专栏技术翻译

Kafka和Redis的系统设计

我最近致力于基于Apache Kafka的水平可扩展和高性能数据摄取系统。目标是在文件到达的几分钟内读取,转换,加载,验证,丰富和存储风险源。系统收到银行上游风...

69900

扫码关注云+社区

领取腾讯云代金券