【windows批处理batch】批处理batch字符串处理相关操作(字符串定义、分割、拼接、替换、切片、查找)

news2024/11/27 15:38:38

请添加图片描述
👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术


【windows批处理bat】批处理文件——字符串处理相关操作


文章目录

  • 【windows批处理bat】批处理文件——字符串处理相关操作
  • 0. 补充知识
  • 1. 字符串定义
  • 2. 字符串拼接
  • 3. 字符串分割
  • 4. 字符串替换
  • 5. 字符串切片
  • 6. 字符串查找


0. 补充知识

@echo off 命令关闭回显:
命令本身不会显示在命令提示符窗口中。使得批处理文件的输出更加清晰,只会看到命令的结果,而不是命令本身。


1. 字符串定义

使用set来定义字符串

@echo off
set string1=Hello
echo %string1%      # Hello

代码说明:
将字符串Hello赋值给string1的变量


2. 字符串拼接

使用%string1%%string2% 的方式完成字符串的拼接。

@echo off
set string1=Hello
set string2=World
set combined1=%string1% %string2%  # 不想在拼接的字符串中包含空格,去掉两个变量之间的空格。
set combined2=%string1%,%string2%  # 不想在拼接的字符串中包含空格,去掉两个变量之间的逗号。
set combined1=%string1%%string2%
echo %combined1%                   # Hello World
echo %combined2%                   # Hello,World
echo %combined3%                   # HelloWorld

3. 字符串分割

一个字符串 My-String,并且你想要将其分割为 My 和 String。

@echo off
set my_string=My-String
for /f "tokens=1,2 delims=-" %%a in ("%my_string%") do (
   set first_part=%%a
   set second_part=%%b
)
echo First part: %first_part%
echo Second part: %second_part%

代码说明:

  1. 定义了一个名为 my_string 的变量,其值为 My-String。
  2. 它使用 for /f 命令来分割这个字符串。tokens=1,2 指定了分割后的部分(tokens),delims=- 指定了分隔符(delimiters)。
  3. 分割后的部分被赋值给 %%a 和 %%b,然后被存储在 first_part 和 second_part 变量中。

4. 字符串替换

使用方法:
语法:%var:str1=str2%
说明:使用str2来替换var变量中str1的一部分内容

@echo off
set VAR=hello
set VAR=%VAR:ell=ipp%
echo %VAR%    # hippo

代码说明:
创建了一个变量 VAR,它的值是 “hello”。然后,使用 set 命令的str1=str2 选项来将 “ell” 替换为 “ipp”。因此,脚本将输出 “hippo”。


5. 字符串切片

使用方法:
语法:%variable:~start_index,length%
说明:start_index 是子串的开始位置,length 是子串的长度。索引是从0开始的,所以0表示字符串的第一个字符。

@echo off
set my_string=Hello, World!
echo %my_string:~0,5%         # Hello
echo %my_string:~7%           # World!
echo %my_string:~-1%         # !

6. 字符串查找

使用echo 和 findstr 命令来判断是否包含一个字符串

@echo off
set VAR=hello
echo %VAR% | findstr /C:"ell" >nul
if errorlevel 1 (
    echo String not found
) else (
    echo String found
)

代码说明:
创建了一个变量 VAR,它的值是 “hello”。然后,使用 echo 和 findstr 命令来查找 “ell”。如果 “ell” 被找到,脚本将输出 “String found”,否则,输出 “String not found”。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从万和电气看民企如何获得“新增长”

改革开放至今,中国民营企业在经过蒙眼狂奔的三十多年后,普遍迎来发展难题: 1,第一代创业者普遍进入退休年龄,面临代际传承问题; 2,民营企业尤其是偏传统行业的企业,如何在新的行业…

基于SSM的高校图书借阅管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

mybatis-plus基本使用流程以及进阶操作

参考 https://www.bilibili.com/video/BV1dQ4y1A75e?p7&vd_source6346698154746eb5026e16499e253fe8 使用流程 一、 准备工作 3.引入依赖 4.插件 spring-boot-starter spring-boot-starter-test mybatis-plus-boot-starter MySQL lombok:用于简化实体类的创建…

查看 PostgreSQL 中的表定义和说明

要查看 PostgreSQL 中的表定义和说明&#xff0c;您可以使用以下命令&#xff1a; 1. 查看表定义&#xff1a; \d <table_name>例如&#xff0c;要查看 pg_extension 表的定义&#xff0c;您可以运行以下命令&#xff1a; \d pg_extension2. 查看表说明&#xff1a; …

山东移动:全业务域核心系统升级,实现大幅降本增效

本文介绍了山东移动引入 OceanBase 到山东省 BOSS/CRM 核心系统领域的相关情况。欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 中国移动通信集团山东有限公司&#xff08;以下简称"山东移动"&#xff09; 隶属于中国移动通信集团公司…

【刷题之路】LeetCode 232. 用栈实现队列

【刷题之路】LeetCode 232. 用栈实现队列 一、题目描述二、解题1、图解主要思路2、先实现栈3、实现各个接口3.1、初始化接口3.2、入队接口3.3、出队接口3.4、取队头接口3.5、判空接口3.6、释放接口 一、题目描述 原题连接&#xff1a; 232. 用栈实现队列 题目描述&#xff1a;…

Babylon.js大规模场景优化实践

在本文中&#xff0c;我们将重点介绍用于优化 Babylon.js 海港场景的优化和架构技术。 我们的场景总共有超过 600 个网格和 1,000,000 个顶点。 在我们的 2018 Macbook Pro 上&#xff0c;它在 Google Chrome 中始终以 45 FPS 的速度运行。 我们发现 Firefox 约为 40 FPS&#…

公厕卫生间除臭杀菌空气净化解决方案

人每天平均大约有80%以上时间是在室内度过&#xff0c;室内空气同时面临着化学污染、物理污染和生物污染&#xff0c;据统计室内污染比室外高5~10倍&#xff0c;因此室内空气质量问题对人的伤害比室外污染更大。常见的空气污染有病毒、烟雾、甲醛、细菌、PM2.5等&#xff0c;如…

淘宝商品详情数据采集,支持高并发请求

一、如何通过手动方式查看阿里巴巴商品详情页面的数据 1.淘宝天猫商品详情 API 接口&#xff08;item_get - 获得淘宝商品详情接口&#xff09;&#xff0c;淘宝API 接口代码对接可以获取到宝贝 ID&#xff0c;宝贝标题&#xff0c;价格&#xff0c;优惠价&#xff0c;掌…

C++优化方法

C优化方法 文章目录 C优化方法1.整数运算效率高于浮点2.除法和取余4.通过2的幂次进行除法和取余数5.使用数组下标6.全局变量->局部变量7.指针值不改变的->拷贝到局部变量8.变量类型9.局部变量10.指针11.指针链12.条件执行13.布尔表达式和范围检查14.布尔表达式和零值比较…

【UE4 像素流 WEBUI插件】部署像素流

目录 一、单实例本地像素流送 步骤 1. 勾选插件 2. 打包工程并启动信令服务器 3. 创建快捷方式并启动游戏 二、单实例局域网像素流送 步骤 1. 编辑cirrus.js 2. 编辑快捷方式属性 3. 启动 三、集成WEBUI插件 一、单实例本地像素流送 步骤 1. 勾选插件 勾选使用“Pix…

数字化时代下,企业如何利用数字化提升企业竞争力?

在数字化时代的今天&#xff0c;企业越来越意识到数字化的重要性。数字化已经成为企业竞争的关键。在数字化时代下&#xff0c;企业的竞争力也已经从传统的硬实力向软实力转变。企业需要利用数字化技术来提高竞争优势&#xff0c;从而在激烈的竞争中脱颖而出。 目前&#xff0c…

Mysql_行锁、临键锁、间隙锁的理解

目录 行锁间隙锁临键锁总结 行锁 行锁&#xff0c;也称为记录锁。 当我们针对主键或者唯一索引加锁的时候&#xff0c;Mysql默认会对查询的这一行数据加行锁&#xff0c;避免其他事务对这一行数据进行修改。 间隙锁 间隙锁&#xff0c;顾名思义&#xff0c;就是锁定一个索引…

浅谈作为程序员如何写好文档:结构化写作

我作为从一名懵懂的实习生转变为工程师的工作经历中&#xff0c;伴随着技术经验的成长&#xff0c;也逐渐意识到了编写文档是知识和经验传递给其他人的最有效方式。通过文档&#xff0c;可以分享我的技术知识和最佳实践&#xff0c;使其他人更好地理解我的工作。在这里&#xf…

图解 SQL 执行顺序,清晰明了

这是一条标准的查询语句: 这是我们实际上SQL执行顺序&#xff1a; 我们先执行from,join来确定表之间的连接关系&#xff0c;得到初步的数据 where对数据进行普通的初步的筛选 group by 分组 各组分别执行having中的普通筛选或者聚合函数筛选。 然后把再根据我们要的数据进行…

alias设置快捷键vim使用说明(解决服务器上输入长指令太麻烦的问题)

1. vi ~/.bashrc打开 2. (watch -n 1 gpustat 查看gpu使用情况 太麻烦)输入i进行编辑&#xff0c;最后一行输入 alias watchgpuwatch -n 1 gpustat alias gpuwatch -n 1 gpustat alias torch180source activate torch180 3. 按esc&#xff0c;然后输入:wq保存退出 4. source…

多轴加工-可变轴轮廓铣_刀轴控制策略

可变轴轮廓铣_刀轴 刀轴是可变轴轮廓铣最重要的核心参数之一&#xff0c;控制好刀轴对生成的刀路质量至关重要。UG NX可变轴轮廓铣提供了非常丰富的刀轴控制方法&#xff0c;常用的包括远离/朝向直线&#xff08;点&#xff09;、相对于/垂直于驱动体、侧刃驱动体、插补等&…

在Apex中获取Site URL

Foreword 目前SF暂未提供直接有效的方法在Apex获取SiteURL&#xff0c;我们可以在Idea (Access URL for a Site or Community from Apex)页面投票&#xff0c;除了下面提供的一种hack思路&#xff0c;当然也可以通过Custom Label手动维护。 Format of Site URL Sandbox site …

如何搭建自己的写作素材库,快来学,方法高效简单

我们平时看过的书&#xff0c;做过的事&#xff0c;不及时记下来&#xff0c;很可能过几天就忘记了。由此看来&#xff0c;搭建自己的写作素材库非常有必要。尤其是写作者&#xff0c;写稿的速度取决于自己写作素材的储备量&#xff0c;你储备的素材越多&#xff0c;写作时便可…

【算法学习系列】01 - 求某个数组中的任意两个位置之间的累加和

文章目录 背景解决思路代码实现 背景 已经呆在自己的舒适圈有很长一段时间了&#xff08;公司快3年了&#xff0c;业务都熟的差不多了&#xff09;&#xff0c;决定开始改变&#xff08;任何时候都不晚&#xff09;&#xff0c;尝试学习解决一些算法题&#xff0c;给自己一些适…