【 六、字符串处理 】
批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集。批处理中可实现的字符串处理功能有:截取字符串内容、替换字符串特定字段、合并字符串、扩充字符串等功能。下面对这些功能一一进行讲解。
【 1、截取字符串 】
截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符。举例说明其基本功能:
=========================================
@echo off
set ifo=abcdefghijklmnopqrstuvwxyz0123456789
echo 原字符串(第二行为各字符的序号):
echo %ifo%
echo 123456789012345678901234567890123456
echo 截取前5个字符:
echo %ifo:~0,5%
echo 截取最后5个字符:
echo %ifo:~-5%
echo 截取第一个到倒数第6个字符:
echo %ifo:~0,-5%
echo 从第4个字符开始,截取5个字符:
echo %ifo:~3,5%
echo 从倒数第14个字符开始,截取5个字符:
echo %ifo:~-14,5%
pause
=========================================
当然,上面的例子只是将字符串处理的基本功能展示出来了,还看不出字符串处理具体有什么用处。下面这个例子是对时间进行处理。
=========================================
@echo off
echo 当前时间是:%time% 即 %time:~0,2%点%time:~3,2%分%time:~6,2%秒%time:~9,2%厘秒
pause
=========================================
【 2、替换字符串 】
替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串。举例说明其功能:
=========================================
@echo off
set aa=伟大的中国!我为你自豪!
echo 替换前:%aa%
echo 替换后:%aa:中国=中华人民共和国%
echo aa = %aa%
set "aa=%aa:中国=中华人民共和国%"
echo aa = %aa%
pause
=========================================
对于上面的例子有一点说明,对比两个echo aa = %aa%可以发现,如果要修改变量aa的内容的话,就需要将修改结果“%aa:中国=中华人民共和国%”赋值给变量aa。上面的字符串截取也有着同样的特点。
【 3、字符串合并 】
其实,合并字符串就是将两个字符串放在一起就可以了。举例说明:
=========================================
@echo off
set aa=伟大的中国!
set bb=我为你自豪!
echo %aa%%bb%
echo aa=%aa%
echo bb=%bb%
set "aa=%aa%%bb%"
echo aa=%aa%
pause
=========================================
同样,如果要改变变量aa的内容的话,就需要将合并结果“%aa%%bb%”赋值给变量aa。
【 4、扩充字符串 】
“扩充”这个词汇来自于微软自己的翻译,意思就是对表示文件路径的字符串进行特殊的处理,具体功能罗列如下:
=========================================
~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
===============================================
相关推荐
例如,遍历文件夹中的所有文件,对每个文件的每一行进行字符串处理。 5. **变量和通配符**: 批处理文件支持变量和通配符。变量用`SET`命令定义,如`SET var=值`,通配符如`*`和`?`用于匹配多个字符或单个字符。 ...
我们可以通过字符串处理技术,如字符串截取、查找替换等,来获取路径中特定位置的字符串。 在批处理脚本中,可以使用以下命令来操作字符串: 1. `FOR /F`:用于从文本字符串中解析数据,可以用来分割路径字符串。 2...
本压缩包“BAT批处理脚本-文本操作-字符串处理.zip”专注于批处理脚本中的字符串处理技巧,这对于日常的系统管理和自动化任务来说至关重要。 批处理脚本是基于DOS命令行环境的,通过编写简单的文本文件,我们可以...
将该bat文件放入想处理的文件的同一文件夹中(注意,该bat会处理同一文件夹中所有的文件),双击运行,输入想删除的字符串,回车运行。
BAT批处理有着具有非常强大的字符串处理能力,其功能虽没有C、Python等高级编程语言丰富,但是常见的字符串截取、替换、连接、查找等功能也是应有尽有,本文逐一详细讲解。 1、字符串截取 百学不如一练,直接上字符...
在批处理(BAT)脚本中,字符串截取是一项常用的操作,它可以帮助我们从一个长字符串中提取出特定部分的信息。以下将详细讲解如何在批处理中实现字符串截取,并通过示例进行演示。 首先,批处理中的字符串截取主要...
在计算字符串长度时,我们可以先使用`echo`输出字符串,然后结合其他命令处理。 2. **`findstr`命令**:`findstr`命令可以查找字符串或者模式。当它用于查找特定字符串时,如果找到该字符串,就会返回一个非零的...
总结来说,“替换文件中指定字符串”的批处理工具是IT工作中一种高效的数据处理手段,它简化了繁琐的手动操作,提升了工作效率。fr.exe、readme.txt和Changelog.txt这三个文件构成了一款完整的批处理工具,用户可以...
在Java编程语言中,文本字符串替换是一个常见的任务,特别是在处理大量文本数据时。这个"java 文本字符串替换工具"很可能是为了帮助开发者高效地搜索和替换文件中的特定文本内容。让我们详细了解一下如何在Java中...
本压缩包"BAT批处理脚本-字符串.zip"显然包含了与字符串处理相关的批处理脚本,可能是为了简化日常的文本处理任务或者进行数据操作。由于文件已改为TXT格式,用户需要根据实际需求将其恢复为BAT格式才能执行。 ...
这个脚本的名称暗示了它的主要功能是处理文本文件,保留其中的空行,并替换某些特定的字符串。在实际应用中,这样的脚本可能用于批量修改日志文件、配置文件或其他文本数据。 保留空行的处理通常是通过巧妙地使用`...
批处理脚本实现这个功能通常会使用`FOR /F`循环和`IF`条件判断语句,配合字符串处理函数。例如,我们可以定义一个变量存储待处理的字符串,然后通过循环检查每个字符,如果发现是零且不是第一个字符,就将其替换或...
本文将深入探讨标题为"BAT批处理脚本-文本操作-去掉字符串不同部位的空格.cmd.zip"的知识点,以及如何利用批处理脚本来去除文本中的空格。 首先,我们要了解批处理脚本的基本结构。一个BAT文件通常包含一行或多行...
在Delphi编程中,字符串列表(TStrings)是一个非常重要的数据结构,广泛应用于处理各种包含字符串的场景,如组合框、列表框、TMemo部件的文本行、屏幕支持的字体列表、TNotebook部件的tabs属性以及字符串网格的行和...
### DOS(bat)字符串替换原理详解 在深入探讨DOS批处理脚本(.bat文件)中的字符串替换机制之前,我们需要了解几个基本概念和技术背景。 #### 基础概念 1. **批处理脚本**: 批处理脚本是Windows操作系统下的一个...
总之,"BAT批处理脚本-文本操作-计算字符串长度.cmd.zip"提供了一个学习和应用批处理脚本的实例,通过理解和掌握其工作原理,我们可以进一步提升在Windows环境下的自动化处理能力。在使用时,请注意文件的安全性,...
这通常涉及到文件操作和字符串处理,这两个概念在几乎所有的编程语言中都有所体现。下面我们将深入探讨这两个核心知识点。 首先,我们关注的是文件操作。在计算机编程中,文件操作是指对磁盘上存储的文件进行读、写...
### 字符串时间转换时间格式问题带配图完整解决方案—Kettle版 #### ETL概念与Kettle简介 ETL(Extract-Transform-Load)即数据抽取、转换、装载的过程,是金融IT领域中处理大数据量的核心技术之一。随着业务的...
标题和描述中提到的"转换为GB2312.bat转换为UTF8.bat"暗示了这是一个批处理(batch script)文件,用于在两种不同的字符编码之间进行转换:GBK(GB2312)和UTF-8。GBK是中国大陆广泛使用的简体中文编码标准,而UTF-8...