bat字符串截取

article/2025/11/8 13:26:04

举例:输入hello world和-2,输出ld

这个简单。代码如下

@ echo off&Setlocal enabledelayedexpansion
:标签1
set 文本=hello world
set 开头=-2
set 结尾=
set /p 文本=请输入文本,留空使用默认值hello world    
set /p 开头=请输入取值开头位数,正数为从前往后数,负数为从后往前数。留空使用默认值-2    
set /p 结尾=请输入取值结尾位数,正数为从取值开头往后数,负数为从文本结尾往前数。留空则从文本结尾结束。    
if not "%结尾%"="" set 结尾=,%结尾%
set 文本=!文本:~%开头%%结尾%!
echo 处理结果:%文本%
goto 标签1

转载请注明出处
1.变量的范围
数字计算[±21 4748 3647 整数],文本[8191个字节](set /p a=<文件 和 ^换行符 可突破该限制,暂不解释)
2.变量的命名
不允许使用纯数字
不建议使用单字母变量
命名不区分大小写
可以使用中文作为变量名
3.变量扩展-文本(以下示例均以变量%a%示范,实际变量名可以为任何值)
文本替换
%a:文本1=文本2% 文本1替换为文本2(文本2可留空,如%a:文本1=%)
文本替换支持通配符*?等
%a:*文本1=文本2% 开头到文本1第一次出现的地方替换为文本2(文本2可留空)
文本截取部分
%a:~10% 第10个字之后的内容
%a:~-10% 倒数第10个字之后的内容
%a:~,5% 开头5个字
%a:~,-5% 开头 - 倒数第5个字
%a:~10,5% 第10个字之后的5个字
%a:~10,-5% 第10个字 - 倒数第5个字
%a:~-10,5% 倒数第10个字之后的5个字
%a:~-10,-5% 倒数第10个字 - 倒数第5个字
注:文本扩展在for命令中可能不可用
示范:set a=%a:~-10,-5%
3.变量扩展-路径(以下示例均以变量%a示范)
(此时右边%可以省略, %~a 和 %~a% 是一样的)
%a 路径 "Temp\tmp 12345.txt"
%~a 删除引号 Temp\tmp 12345.txt
%~fa 完整路径 D:\AppData\Local\Temp\tmp 12345.txt
%~da 分区 D:
%~pa 路径 \AppData\Local\Temp\
%~na 文件名 tmp 12345
%~xa 扩展名 .txt
%~sa 短文件名 D:\AppData\Local\Temp\TM3A8C~1.TXT
%~aa 文件属性 --a--------
%~ta 修改日期 2016/06/02 16:26
%~za 文件大小(字节) 18
%~$b:a 在 目录b 搜索 文件a 找到的第一个文件。
如果变量b不存在,或者没有找到文件a,返回空字符串。
需事先给变量b赋值,多个路径可用分号分隔。命令示例
set b=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
可以组合使用来得到多重结果
%~dpa 分区和路径 D:\AppData\Local\Temp\
%~nxa 完整文件名 tmp 12345.txt
%~dp$b:a 在 目录b 搜索 文件a 输出 文件a 的 分区和路径
%~ftzaa 类似dir命令的输出(完整路径 日期 大小 属性)
--a-------- 2016/06/02 16:26 18 D:\AppData\Local\Temp\tmp 12345.txt
不组合拆分开也行,比如这样%~fa %~ta %~za %~aa
注意:路径扩展仅适用于%0 %1 …%9和for中的单字母变量%%i,若要支持其他变量,考虑使用call

示范

@ echo  off & set a=百度贴吧。百度公司。中国公司
echo %%0 %0
echo 文本
echo %%a%% %a%
echo %%a:。=-%% %a:。=-%
echo %%a:百度=%% %a:百度=%
echo %%a:*公司=123%% %a:*公司=123%
echo %%a:~5%% %a:~5%
echo %%a:~-5%% %a:~-5%
echo %%a:~,3%% %a:~,3%
echo %%a:~,-3%% %a:~,-3%
echo %%a:~5,3%% %a:~5,3%
echo %%a:~5,-3%% %a:~5,-3%
echo %%a:~-5,3%% %a:~-5,3%
echo %%a:~-5,-3%% %a:~-5,-3%
pause & echo 产生一个临时文件>"tmp 12345.txt"
rem 使用上方办法即可创建带空格的文件
Call :sub "tmp 12345.txt"
rem 以上一条命令表示跳转到sub标签并将变量%1设置为"tmp 12345.txt"
pause & Del "tmp 12345.txt" & goto tu
:sub
echo 路径
echo %%1 %1
echo %%~1 %~1
echo %%~f1 %~f1
echo %%~d1 %~d1
echo %%~p1 %~p1
echo %%~n1 %~n1
echo %%~x1 %~x1
echo %%~s1 %~s1
echo %%~a1 %~a1
echo %%~t1 %~t1
echo %%~z1 %~z1
echo %%~dp1 %~dp1
echo %%~nx1 %~nx1
echo %%~ftza1 %~ftza1
echo. & Goto :eof
:tu
echo 特殊变量
echo 当前目录%%CD%% %CD%
echo 当前日期%%DATE%% %DATE%
echo 当前时间%%TIME%% %TIME%
echo 范围在0-32767的伪随机数%%RANDOM%% %RANDOM%
echo 错误返回码%%ERRORLEVEL%% %ERRORLEVEL%
echo cmd的版本号%%CMDEXTVERSION%% %CMDEXTVERSION%
echo 显示当前打开cmd所用的命令%%CMDCMDLINE%% %CMDCMDLINE%
echo 当前最高NUMA节点号%%HIGHESTNUMANODENUMBER%% %HIGHESTNUMANODENUMBER%
pause

 

https://www.zhihu.com/question/356855628/answer/1000353295

 


http://chatgpt.dhexx.cn/article/hoAOhNNQ.shtml

相关文章

批处理字符串截取

批处理字符串截取 在批处理中&#xff0c;set的功能有点繁杂&#xff1a;设置变量、显示环境变量的名及值、做算术运算、等待用户的输入、字符串截取、替换字符串&#xff0c;是我们常用的命令之一。 在字符串截取方面&#xff0c;新手因为没能注意到偏移量的问题&#xff0c;…

整理了几种字符串截取方法

一、 (Substring);(Remove);(Replace) 1、取字符串的前i个字符 (1)string str1str.Substring(0,i);(2)string str1str.Remove(i,str.Length-i); 2、去掉字符串的前i个字符 string str1str.Remove(0,i);string str1str.SubString(i); 3、从右边开始取i个字符 string str1str.Sub…

JSTL标签的使用详情

if 标签 choose标签 forEach标签 这里是JSTL的标签文档&#xff0c;我们主要介绍几个常用的 https://www.runoob.com/jsp/jsp-jstl.html if 标签 if标签为判断标签&#xff0c;没有else标签&#xff0c;多个分支就用个if判断 例子 访问结果 choose标签 choose标签为选择标签…

JSTL标签库的使用及其常用标签

目录 什么是JSTL标签库&#xff1f; 使用JSTL标签库的步骤&#xff1a; 第一步&#xff1a;引入JSTL标签库对应的jar包。 第二步&#xff1a;在JSP中引入要使用标签库。&#xff08;使用taglib指令引入标签库。&#xff09; 第三步&#xff1a;在需要使用标签的位置使用即可。…

JSP之自定义jstl标签

目录 一&#xff0c;什么是JSP&#x1f351; 二&#xff0c;什么是JSTL&#xff08;JSTL标签库&#xff09;&#x1f353; 三&#xff0c;如何使用JSTL&#x1f345; 在项目中如何使用JSTL标签&#xff1f;在发开中使用JSTL标签库需要执行如下两个步骤。 &#xff08;1&a…

什么是JSTL标签?常用的标签库有哪些?

从JSP1.1规范开始&#xff0c;JSP就支持使用自定义标签&#xff0c;使用自定义标签大大降低了JSP页面的复杂度&#xff0c;同时增强了代码的重用性。为此&#xff0c;许多Web应用厂商都定制了自身应用的标签库&#xff0c;然而同一功能的标签由不同的Web应用厂商制定可能是不同…

jsp--JSTL标签库

目录 1.JSTL标签库介绍 2.JSTL 标签库的使用步骤 3.core核心库使用 3.1 <c:set> 3.2 <c:if /> 3.3 <c:choose> <c:when> <c:otherwise >标签 3.4 <c:forEach /> 1.JSTL标签库介绍 JSTL 标签库&#xff0c;全称是指 JSP Standard …

【Java Web】JSTL标签库的引入

在使用JSTL标签前首先要引入JSTL标签库 引入&#xff1a; <% taglib prefix"c" uri"http://java.sun.com/jsf/core" %> taglib是JSP指令&#xff0c;功能是用来引入标签库&#xff1b; prefix意思是前缀&#xff0c;指的就是使用标签时的前缀&a…

常见JSTL标签详解

JSP标准标签库&#xff08;JSTL&#xff09; jsp标准标签库&#xff08;jstl&#xff09;是一个JSP标签集合&#xff0c;它封装了jsp应用的通用核心功能。 JSTL支持通用的、格式化的任务。比如&#xff1a;迭代、条件判断、XML文档操作、国际化标签、SQL标签。除了这些它还提供…

JSTL标签库之核心标签

一、JSTL标签库介绍   JSTL标签库的使用是为弥补html标签的不足&#xff0c;规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二、JSTL标签库的分类 核心标签(用得最多)国际化标签(I18N格式化标签)数据库标签(SQL标签&#xff0c;很…

JSTL标签库的使用

1 JSTL 1.1 JSTL概述 1&#xff09;简介 JSTL的全称是&#xff1a;JSP Standard Tag Libary。它是JSP中标准的标签库。它是由Apache实现的。 它由以下5个部分组成&#xff1a; 组成作用说明Core核心标签库。通用逻辑处理Fmt国际化有关。需要不同地域显示不同语言时使用Fun…

JSTL标签库 | 深入解析JSTL标签库

目录 一&#xff1a;深入解析JSTL标签库 1、什么是JSTL标签库 2、使用JSTL标签库的步骤 3、JSTL标签的原理 4、jstl中的核心标签库core当中常用的标签 一&#xff1a;深入解析JSTL标签库 1、什么是JSTL标签库 ①Java Standard Tag Lib&#xff08;Java标准的标签库&am…

JSTL标签库详细介绍

目录 一JSTL标签库 二、核心&#xff08;Core&#xff09;标签库 通用标签 循环控制标签 导入文件和URL 总结 一JSTL标签库 JSTL是一个不断完善的开放源代码的JSP标签库&#xff0c;是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上…

JSTL标签库

JSTL&#xff08;Java Server Pages Standerd Tag Library&#xff0c;JSP标准标签库&#xff09;包含用于编写和开发JSP页面的一组标准标签&#xff0c;它可以为用户提供一个无脚本环境。在此环境中&#xff0c;用户可以使用标签编写代码&#xff0c;而无须使用Java脚本。在JS…

JSTL标签

一、概念 JSTL的全称是JavaServer Pages Tag Library&#xff0c;我们也称之为JSP标准标签库。它是由Apache组织提供的开源的免费的jsp标签 二、作用 用于简化和替换jsp页面上的java代码 三、使用步骤&#xff1a; 导入jstl相关jar包引入标签库&#xff0c;通过<% tagl…

JSTL核心标签超详细

1.JSTL介绍 JSTL&#xff08;JavaServer Pages Standard Tag Library&#xff0c;JSP标准标签库)是一个JSP标签集合&#xff0c;它封装了JSP应用的通用核心功能。 JSTL支持通用的、结构化的任务&#xff0c;比如迭代&#xff0c;条件判断&#xff0c;XML文档操作&#xff0c;…

关于网站最近出现504错误的总结,too open many files in system

如果你有耐心看完这篇文章&#xff0c;也许会给你带来真正的益处。 网站出现504错误&#xff0c;如果你用阿里云CDN的话还会报 504 Gateway Time-out The gateway did not receive a timely response from the upstream server or application. Powered by Tengine 这样一句…

腾讯云服务器网站504,使用腾讯、百度云CDN现403和504错误的解决及使用CDN踩的坑...

最近源站出网流量超出带宽的限定值&#xff0c;经常导致服务器丢包。最近有点频繁&#xff0c;甚至一小时丢好几次&#xff0c;如下图所示&#xff1a; 于是考虑接入 CDN &#xff0c;腾讯云CDN送了300G流量&#xff0c;但是接入后经常打不开页面&#xff0c;就换了百度云CDN。…

出现504怎么办?由于服务器更新导致的博客报504错误[详细记录]

最近由于云服务商进行了云服务优化&#xff0c;更新。由于以前在优化博客时的疏忽与草率&#xff0c;导致了本次服务商那边更新&#xff0c;这边博客直接报错504。 据官方称是修改了DNS解析地址&#xff0c;和ip域名地址。 504错误&#xff1a;代表网关超时 &#xff08;Gatewa…

nginx实战总结-504错误剖析

一、问题描述 nginx访问会出现504:Gateway Time-out,按照报错的意思是请求无响应或者无响应,意思就是说由于大量的请求,有些线程运气差,一直调用不到,导致请求超时,所以就往超时的时间入手,进行解决 二、解决步骤 先看下nginx使用的是什么协议(proxy/fastcgi):我这…