Windows 怎么在批处理脚本中实现字符串的截取与拼接操作

大丽大大_4376

大丽大大_4376

2026-08-12

527人浏览

原创

windows批处理通过%var:~start,length%实现字符串截取,支持正负索引和省略长度;拼接用%var1%%var2%直接连接,需避免空格;受限于无正则、特殊字符需延迟扩展处理。

windows 批处理(.bat)中没有原生的字符串函数,但可以通过 变量扩展语法 实现字符串截取和拼接,关键在于掌握 %var:~start,length% 和 %var1%%var2% 这两类用法。

字符串截取:用 :~ 语法提取子串

批处理通过 %变量名:~起始位置,长度% 截取字符串。起始位置从 0 开始,支持负数(表示从末尾倒数),长度可省略(截取到末尾)。

  • 截取前3个字符:set str=HelloWorld && echo %str:~0,3% → 输出 Hel
  • 从第5位开始截取剩余全部:echo %str:~5% → World
  • 取最后4个字符:echo %str:~-4% → orld
  • 去掉前2个、去掉后2个:echo %str:~2,-2% → lloWorl

字符串拼接:直接连接变量或字面量

拼接无需特殊命令,把变量或字符串紧挨着写即可,注意空格会被当作分隔符,需避免多余空格。

MusicArt
MusicArt

一款AI音频处理工具,主要用于AI音乐生成器,适合需要提升相关任务效率的用户。

下载
  • 变量+变量:set a=abc && set b=def && set c=%a%%b% && echo %c% → abcdef
  • 变量+常量:set path=C:\ && set full=%path%Users && echo %full% → C:\Users
  • 带下划线拼接:set name=John && set ver=2.1 && echo %name%_%ver% → John_2.1

实用技巧:结合截取与拼接处理文件名或路径

常见需求如提取文件名、扩展名、目录路径,可组合使用截取与延迟扩展(setlocal enabledelayedexpansion)应对循环中变量变化。

  • 获取不带扩展名的文件名:set file=test.txt && echo %file:~0,-4% → test(假设扩展名固定为 .txt)
  • 提取扩展名(最后一个点之后):for /f "delims=." %%a in ("%file%") do set ext=%%a && echo %ext% 不够可靠;更稳妥用 for /f "delims=" %%i in ('echo %file% ^| powershell -c "$env:__=$args[0]; $env:__ -replace '.*\.(.*)','$1'"') do set ext=%%i,但纯批处理建议用 %file:*.=%(仅适用于单个点,如 readme.md → md)
  • 拼接路径时防错:用引号包裹 + 去除重复反斜杠:set base=C:\temp && set sub=logs && set full="%base%\%sub%",后续用 cd /d %full%

注意事项与限制

批处理字符串操作能力有限:不支持正则、大小写转换需借助 PowerShell 或外部工具;变量内容含特殊符号(如 &、|、)会引发解析错误,应启用延迟扩展并用 <code>!var! 引用。

  • 所有截取操作在 set 语句中即时生效,但不能嵌套(如 %str:~0,%len%% 不合法,需先算出 len 再调用)
  • 空格是敏感字符,拼接时确保等号前后无空格:set a=b 正确,set a = b 会把空格存入变量值
  • 若字符串含 !,必须关闭延迟扩展或转义,否则被误解析

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2532

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

749

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2296

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4212

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HBuilderX Windows 安装手册
HBuilderX Windows 安装手册

共0课时 | 0人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习

好课诞生记
好课诞生记

共20课时 | 7.1万人学习