windows - 我正在学习批处理 - 为什么我在设置环境变量时遇到问题,并将其他环境变量作为输入?中弦问题
问题描述
我确信这个问题很愚蠢。但我不确定我做错了什么。我希望变量 start 和 end 用于设置我用来设置 subStr 的中间字符串方法。我已经读过 set /? 没有成功。任何帮助将不胜感激。
echo off
rem // First I will set all my varialbles...
set pleaStr=this is just a test. Please help me figure this out. I appreciate your help
set start=21
set end=-23
set subStr=%pleaStr:~start,end%
rem // The mid string method works normally. See!!
set subStrEasy=%pleaStr:~21,-23%
rem // Return extracted URL:
echo %pleaStr%
echo %subStr%
echo %subStrEasy%
如果我将环境变量 (ENV) 的开始和结束替换为对应的数字 21 和 -23,则上面的代码不起作用。当我echo %subStr%
得到给我pleaStr:~start,end
的地方echo %subStrEasy%
Please help me figure this out.
也许环境变量不能以这种方式使用?
解决方案
这是使用延迟扩展的解决方案。
@echo off
setlocal enabledelayedexpansion
set "pleaStr=this is just a test. Please help me figure this out. I appreciate your help"
set "start=21"
set "end=-23"
set "subStr=!pleaStr:~%start%,%end%!"
echo %subStr%
推荐阅读
- node.js - express.js - 基本应用程序路由器不工作
- android - 在 Android Studio (2.3.3) 中包含 Android 支持
- iphone - 如何在 swiftui 中使用选取器更改文本大小
- azure - 如何防止删除消息或防止对我的 azure AD App (Microsoft Graph) api 的 DELETE 请求?
- python - 在查找两个列表的公共部分的列表理解中使用 pop 有什么用?
- wordpress - 网站图像数据使用和加载时间
- flutter - 如何在 Flutter 中进行以下按钮设计
- amazon-web-services - 将 Amazon CloudFront 与 Amazon S3 Transfer Acceleration 一起使用?
- python - Django - 如何简化具有许多外键的表的创建新行?
- image - 如何在 Julia 中模糊图像?