【批处理学习笔记】第二十课:扩充字符串

    “扩充”这个词汇来自于微软自己的翻译,意思就是对表示文件路径的字符串进行特殊的处理,具体功能罗列如下: =========================================      ~I         - 删除任何引号("),扩充 %I      %~fI        - 将 %I 扩充到一个完全合格的路径名      %~dI        - 仅将 %I 扩充到一个驱动器号      %~pI        - 仅将 %I 扩充到一个路径      %~nI        - 仅将 %I 扩充到一个文件名      %~xI        - 仅将 %I 扩充到一个文件扩展名      %~sI        - 扩充的路径只含有短名      %~aI        - 将 %I 扩充到文件的文件属性      %~tI        - 将 %I 扩充到文件的日期/时间      %~zI        - 将 %I 扩充到文件的大小      %~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩充                    到找到的第一个完全合格的名称。如果环境变量名                    未被定义,或者没有找到文件,此组合键会扩充到                    空字符串 可以组合修饰符来得到多重结果:      %~dpI       - 仅将 %I 扩充到一个驱动器号和路径      %~nxI       - 仅将 %I 扩充到一个文件名和扩展名      %~fsI       - 仅将 %I 扩充到一个带有短名的完整路径名      %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充                    到找到的第一个驱动器号和路径。      %~ftzaI     - 将 %I 扩充到类似输出线路的 DIR =========================================     以上内容引用于for /?帮助信息。其中的I代表变量I,不过需要说明的是,不是所有的变量都能够进行扩充的,有两个条件:1、该字符串代表一个文件路径;2、变量要用%x来表示,x可取a-z A-Z 0-9共62个字符中的任意一个。举例说明: ========================================= @echo off echo 正在运行的这个批处理: echo 完全路径:%0 echo 去掉引号:%~0 echo 所在分区:%~d0 echo 所处路径:%~p0 echo 文件名:%~n0 echo 扩展名:%~x0 echo 文件属性:%~a0 echo 修改时间:%~t0 echo 文件大小:%~z0 pause =========================================     其中的%0是批处理里面的参数,代表当前运行的批处理的完全路径。类似的还有%1-%9,分别代表传递来的第1-9个参数。例子如下: =============================================== @echo off set aa=C:\Windows\PPP\a.btx call :deal aaa %aa% "c c" ddd eee pause>nul exit :deal echo %%0 = %0 echo %%1 = %1 echo %%2 = %2 echo %%3 = %3 echo %%4 = %4 echo %%5 = %5 ===============================================     其中,变量aa在之前是不可以扩充的,通过call命令并将aa作为参数传递给子函数:deal,将aa变量转换成了变量%1,即符合%x格式,从而可以进行字符串扩充。     至于%x中x取a-z A-Z的形式,可以复习一下for语句,for语句里面的变量就是用%x来表示的,因而可以直接进行扩充。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能合约

Phalcon入门教程之Volt模板引擎

16030
来自专栏编程

autoload自动加载机制使用

在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来,但是这样可能会使得在...

232100
来自专栏我的博客

CI基础知识笔记

1.知识点 $config[‘url_suffix’] = ”;//url后缀 $config[‘enable_query_strings’] = FALS...

29130
来自专栏增长技术

ProGuard配置

?表示一个字符 可以匹配多个字符,但是如果是一个类,不会匹配其前面的包名 * 可以匹配多个字符,会匹配前面的包名。

22710
来自专栏技术沉淀

命令行工具:sed流式编辑

11740
来自专栏Ryan Miao

redis学习之二from github

大概敲了一遍基本命令,熟悉了redis的存储方式。现在开始进一步系统的学习。学习教程目前计划有三个,一个是github上的https://github.com/...

35760
来自专栏猛牛哥的博客

aardio v13.6 更新

15820
来自专栏Android 研究

Android系统启动——3init.rc解析

init.rc文件是以“块”(section)为单位服务的,,一个“块”(section)可以包含多行。“块”(section)分成两大类:一类称为"动作(ac...

54420
来自专栏最高权限比特流

Jsp技术介绍

57450
来自专栏大内老A

通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?

在《中篇》中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的。总的来说,管道由一个服务器和一个Htt...

28650

扫码关注云+社区

领取腾讯云代金券